日期:2014-05-20  浏览次数:20875 次

一些java试题,有疑惑不解地方,请教.
先发几个,后面还会有.

1   =================================

11.   public   String   makinStrings()   {
12.   String   s   =   “Fred”;
13.   s   =   s   +   “47”;
14.   s   =   s.substring(2,   5);
15.   s   =   s.toUpperCase();
16.   return   s.toString();
17.   }
How   many   String   objects   will   be   created   when   this   method   is   invoked?
A.   1
B.   2
C.   3
D.   4
E.   5
F.   6


------解决方案--------------------
2 ========================
这个还勉强可以理解,看了答案以后,

11. public class Yikes {
12.
13. public static void go(Long n) {System.out.println(”Long “);}
14. public static void go(Short n) {System.out.println(”Short “);}
15. public static void go(int n) {System.out.println(”int “);}
16. public static void main(String [] args) {
17. short y= 6;
18. long z= 7;
19. go(y);
20. go(z);
21. }
22. }
What is the result?
A. int Long
B. Short Long
C. Compilation fails.
D. An exception is thrown at runtime.

------解决方案--------------------
F C
------解决方案--------------------
c c
都编译了
第1个s = s.substring(2, 5);改变了成s= "ed4 ";
第2个不明白 go(z)编译不过去
------解决方案--------------------
F A
------解决方案--------------------
第一题:F

第二题:A
------解决方案--------------------
C A
是SCJP吧 以前看见过

楼上的楼上 你用的是1.5以前的JDK吧 这个事1.5的自动包装的新功能 long会自动包装成Long类
------解决方案--------------------
学习。。。什么时候有答案公布?
------解决方案--------------------
f a
------解决方案--------------------
答案是
C
A
但对第二题的A 不明白为什么,传的是short类型 回打印出int??
------解决方案--------------------
第一题 C “Fred”,“47”,及 S。


------解决方案--------------------
第一题:“Fred”、“47”、以及4个s
第二题就不是很清楚了,类型转换和参数传递问题,可以做实验
------解决方案--------------------
个人认为: 第一题; 产生两个对象 String s= "fred " 产生一个 String s =s+ "47 " 产生一个
后面两个不产生新的对象

第二题:选 C 编译不过去
------解决方案--------------------
F
A
------解决方案--------------------
1.F

"Fred ", "47 ", "Fred47 ", "ed47 ", "ED47 ",最后一个s.toString()的String 对象所有为6个

2。A
------解决方案--------------------
第二个题 你的程序有问题
go(Long n)这个里面的Long ,L要小写
go(Short n)同理,S也要小写
这样的话
结果是:C
short long
------解决方案--------------------
jdk1.5的自动装箱

----------------------

编译时 应该先选择基本类型的兼容性 int兼容short 所以不考虑Short
------解决方案--------------------