2. 下面程序运行的结果是( )
String str1= “1”, str2=”2”;
if(str1==str2)
System.out.println(“ABC”);
else if(str1<str2)
System.out.println(“DEF”);
else
System.out.println(“GHJ”);
a) ABC
b) DEF
c) GHJ
d) 编译失败
//两个引用类型的对象,比较地址值不能用<,>号
作者: 渠嘉树 时间: 2014-7-7 00:11
d d 这样的吧
作者: blue_sky 时间: 2014-7-7 11:28
第一道题:
是检验对“==”和String对象的理解:
s1和s2虽然指向相同的“abc”,但是却是两个不同的引用对象;所以为false;
s3和s4+s5同上;
第二道题:
是检验对进本类型之间的联系和不同进行检验;
else if(str1<str2);这句话,其实编译不过去;
因为,上面定义的“1”、“2”都是字符串对象,并不是int类型;他们不具备通过“<”比较的方法;所以编译失败;
作者: 帮帮 时间: 2014-7-7 12:13
学习了
作者: a6511631 时间: 2014-7-7 12:28
居然做错了啊
作者: 玉遥 时间: 2014-7-7 12:36
答案是D,D
作者: 導ぷ仙″兲蕐 时间: 2014-7-7 13:03
dddddddddddddddddd!
作者: love刚贝儿 时间: 2014-7-7 14:06
答案都是D
作者: ahuhxl 时间: 2014-7-7 14:13
第一题如果将==换成equals,答案就是true
作者: №星晨∮ 时间: 2014-7-8 00:22
嗯,豁然开朗
作者: 李文方 时间: 2014-7-8 00:45
有学习了一点,感谢你的分享
作者: 韩天雷 时间: 2014-7-8 00:53
本帖最后由 韩天雷 于 2014-7-8 00:57 编辑
- String s1 = "abc";
- String s2 = new String("abc");
- System.out.println(s1==s2);
- String s3 = "你好吗";
- String s4 ="你";
- String s5 ="好吗";
- System.out.println(s3==(s4+s5));
复制代码
-
1.png
(15.83 KB, 下载次数: 133)
-
2.png
(112.42 KB, 下载次数: 202)
作者: 玉遥 时间: 2014-7-8 21:12
嗯是这样的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |