读书人

一个JAVA类型转换的有关问题

发布时间: 2012-01-16 23:36:51 作者: rapoo

一个JAVA类型转换的问题?
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




[解决办法]
B B A
回答完毕!
[解决办法]
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
[解决办法]
第一个问题:
因为在题目中出现了99.9,所以数据类型会自动的由低级向高级转换,所以输出的是9.0,而不是9。
第二个问题:是java的垃圾回收机制,记住就行了。
第三个问题:这是java的一个动态传递参数的机制,格式为java + 文件名 +参数1 +参数2 +....
当你想引用动态传递的参数时,用args[0],args[1],args[2]...即可引用到相对应的参数了。
说的不好,不知道你是否理解了。
[解决办法]
我还有点模糊.
[解决办法]
首先:肯定编译过不了
其次:值传递和址传递的区别,值传递主要用于基本类型,比如这里的整形
再次:String的不变性,改变时,它重新在其它地方创建了新的字符串

[解决办法]
java里都是值传递

读书人网 >J2SE开发

热点推荐