黑马程序员技术交流社区

标题: 这道题为什么会编译出错?? [打印本页]

作者: 来了都是heima    时间: 2016-5-29 00:01
标题: 这道题为什么会编译出错??
21.        下面程序运行的结果是(    )D
  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)        编译失败

作者: woshijingke    时间: 2016-5-29 00:15
把程序复制到eclipse中就知道了
作者: likonglin110    时间: 2016-5-29 00:21
两个字符串比较当然出错啊
作者: Aaron9527    时间: 2016-5-29 00:22
字符串类型不能用双等比较吧,你用equals方法就可以了!
作者: 土菠萝    时间: 2016-5-29 00:29
字符串能用==编译不会出错,但是结果未必是你想要的比较,
作者: 土菠萝    时间: 2016-5-29 00:31
字符串能用==编译不会出错,但是结果未必是你想要的比较结果,编译错误的原因是,那个小于号,为什么错呢,就相当于,你拿两个字符串去相乘的原理差不多!
作者: 王子鹏    时间: 2016-5-29 11:35
3楼正解
作者: 0.Ergou.0    时间: 2016-5-29 12:08
字符串不能用比较运算符吧 好比两个汉字怎么用<,>号联系呢  "张三" <"李四"?
作者: 新晋猿工    时间: 2016-5-29 12:17
equals吧~~
作者: lizhenzhen    时间: 2016-5-29 13:02
动手运行一下就好
作者: sssssssx    时间: 2016-5-29 22:03
不是为了评价而评价,不是为了做好人而评价
作者: lifeiwangyue    时间: 2016-5-29 22:19
引用类型的不能大于小于的比较的  
作者: 来了都是heima    时间: 2016-5-30 23:36
Aaron9527 发表于 2016-5-29 00:22
字符串类型不能用双等比较吧,你用equals方法就可以了!

else if(str1<str2)  是这个地方出错了, 字符串不能做比较
作者: 来了都是heima    时间: 2016-5-30 23:38
土菠萝 发表于 2016-5-29 00:29
字符串能用==编译不会出错,但是结果未必是你想要的比较,

else if(str1<str2) 是这个地方出错了,字符串不能比较
作者: 来了都是heima    时间: 2016-5-30 23:41
sssssssx 发表于 2016-5-29 22:03
不是为了评价而评价,不是为了做好人而评价

你是好人
作者: 土菠萝    时间: 2016-5-30 23:42
来了都是heima 发表于 2016-5-30 23:36
else if(str1

我知道呀
作者: 见著    时间: 2016-5-30 23:44
字符串类型可以用大于小于比较吗
作者: 来了都是heima    时间: 2016-5-30 23:46
sssssssx 发表于 2016-5-29 22:03
不是为了评价而评价,不是为了做好人而评价

你是好人
作者: 戎马生涯    时间: 2016-5-31 00:09
字符串类型不能用==做比较,应该用equals方法来比较~
作者: woshijingke    时间: 2016-5-31 00:19
个字符串比较当然出错啊
作者: 1023014360    时间: 2016-5-31 00:39
内存地址咋比较大小嘞
作者: gsa798780633    时间: 2016-5-31 10:36
用compareto
作者: longyun    时间: 2016-5-31 21:28
else if(str1<str2)  是这个地方出错了, 字符串不能做比较
作者: hero_king    时间: 2016-5-31 21:31
字符串用==是比较地址值,不能用大于和小于,如果比较相等可以使用equals




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2