一个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里都是值传递