您的位置:程序门 -> java -> j2se / 基础类



一个java类型转换的问题?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


一个java类型转换的问题?
发表于:2007-04-01 19:20:18 楼主
3.   int   x=4;     (b)(已在jdk验证)
system.out.println( "value   is   "   +((x> 4)?99.9:9));
a、9     b、9.0       c、99.9       d、99

为什么输出是9.0而不是9


发表于:2007-04-01 19:28:361楼 得分:0
还有个问题

7、关于垃圾收集的哪些叙述是对的(b)
a、程序开发者必须自己创建一个线程进行内存释放的工作。
b、垃圾收集将检查并释放不再使用的内存。
c、垃圾收集允许程序开发者明确指定并立即释放该内存。
d、垃圾收集能够在期望的时间释放被java对象使用的内存

括号里是我认为正确的答案
发表于:2007-04-01 19:37:422楼 得分:0
12、以命令”java   mytest   x   y”执行文件mytest.class后,表达式(     )为真    
  (a)args[0]   =   "x " (b)args[0]   =   'y '
  (c)args[0]   = "mytest   x   y   " (d)args[1]=   "mytest " 'y '


这个题目我不知道是什么意思
发表于:2007-04-01 19:49:083楼 得分:0
b     b     a
回答完毕!
发表于:2007-04-01 19:58:094楼 得分:0
麻烦解释一下
发表于:2007-04-01 20:01:415楼 得分:0
3.   int   x=4;     (b)(已在jdk验证)
system.out.println( "value   is   "   +((x> 4)?99.9:9));
a、9     b、9.0       c、99.9       d、99
---------------------------------------------------
((x> 4)?99.9:9)进行运算时,因为99.9是double,所以将表达式结果也转成double型。

7.是b

12.是带命令参数执行mytest.class,public   static   void   main(string[]   args)中的args[]存放的就是命令参数,所以args[0]   =   "x ",args[1]   =   "y ",这题选a
发表于:2007-04-01 20:06:226楼 得分:0
第一个问题:
因为在题目中出现了99.9,所以数据类型会自动的由低级向高级转换,所以输出的是9.0,而不是9。
第二个问题:是java的垃圾回收机制,记住就行了。
第三个问题:这是java的一个动态传递参数的机制,格式为java   +   文件名   +参数1   +参数2   +....
当你想引用动态传递的参数时,用args[0],args[1],args[2]...即可引用到相对应的参数了。
说的不好,不知道你是否理解了。
发表于:2007-04-01 20:09:307楼 得分:0
谢谢     深刻理解鸟
发表于:2007-04-01 20:19:328楼 得分:0
15.请判断下面的代码片段的执行结果:(a)
  void   func(int   a,   string   b,   string   c)   {//我在jdk上只有func为static才能执行
a   =   a   +   1;
b.trim()  

c   =   b;
}
public   static   void   main(string[]   args)   {
int   a   =   0;
string   b   =   “hello     world”;
string   c   =   “ok”;
func(a,   b,   c);
system.out.println(“”   +   a   +   “,   ”   +   b   +   “,   ”   +   c);
}
a. 0,   hello     world,   ok(我只能理解为是静态main没有执行静态函数)
b. 1,   helloworld,   helloworld
c. 0,   helloworld,   ok
d. 1,   hello     world,   hello   world  


我再帖一题,请大家帮帮忙
答案a是我在jdk上验证的结果,那岂不是函数没有被执行?????
可是我认为是答案d
发表于:2007-04-01 20:53:069楼 得分:0
答案是编译不通过,因为main()是静态方法却调用了非静态方法func();所以编译不通过,你可以试试。
发表于:2007-04-01 21:00:3110楼 得分:0
我还有点模糊.
发表于:2007-04-01 21:22:1911楼 得分:0
我知道上面是编译不通过的,但是我编译的时候加了static,你可以看看我在func()后打上的括号里的注释

我主要是想知道为什么会输出的是a
发表于:2007-04-01 21:32:1812楼 得分:0
首先:肯定编译过不了
其次:值传递和址传递的区别,值传递主要用于基本类型,比如这里的整形
再次:string的不变性,改变时,它重新在其它地方创建了新的字符串
发表于:2007-04-01 23:25:5813楼 得分:0
java里都是值传递


快速检索

最新资讯
热门点击