黑马程序员技术交流社区

标题: 一道字符串连接的问题 [打印本页]

作者: 施家雄    时间: 2013-4-9 00:00
标题: 一道字符串连接的问题
下面的代码是毕老师在讲解的题,我运行了一下,好像和他说的不太一样。
  1. class OperateDemo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                



  6.                 //字符串数据和任何数据使用+都是相连接,最终都会变成字符串。
  7.                 System.out.println("5+5"+(5+5));//"5+5=55"
  8.        

  9.                
  10.         }
  11. }
复制代码
上面的注释都是毕老师写的,可是我运行的结果是:5+510      
//字符串数据和任何数据使用+都是相连接,最终都会变成字符串。----->希望大家能给我举个例子来证明这句话,谢谢了。

作者: 黑马潘浩    时间: 2013-4-9 00:07
首先"5+5"是一个字符串,里面的+是一个字符,不是一个运算符,所以"5+5"+10就变成了字符串"5+510"了.这个打印语句的第二个加号可以证明那句话!!
作者: HM王琦    时间: 2013-4-9 00:09
System.out.println("5+5"+(5+5));//"5+5=55"

括号里的内容是优先计算的,先算出5+5等于10;然后和前面的字符串连接,就是"5+5"+10;结果就是5+510
作者: 余善航    时间: 2013-4-9 00:10
System.out.println("5+5"+(5+5));
运算方法 当然是从最里往外部算了    输出括号内还有括号,所以先算里面的括号
       也就有了5+510
作者: 林声荣    时间: 2013-4-9 00:14
你是不是写错了应该是(System.out.println("5+5="+5+5);//"5+5=55")吧?
你上面代码运行的结果就是5+510,前面 "5+5" 是字符串,用+号连接后就成字符串连接了,而 (5+5) 中括号优先于字符连接符号。
只要在+号前方出现了字符串是,+号就成为字符串连接符号了,
如:
System.out.println(3+3+"2+4"+4+6);
结果为:62+446
作者: 黄玉昆    时间: 2013-4-9 08:03
如果问题未解决,请继续追问,如果没有问题了,请将帖子分类 改为“已解决”,谢谢
作者: 张旺达    时间: 2013-4-9 08:52
("5+5="+5+5)输出的是5+5=55;
("5+5="+(5+5))输出的是5+5=10;
执行会有先后顺序的,这就是一个最好的例子,没有错,应该是你看的不认真吧
作者: 施家雄    时间: 2013-4-9 19:42
林声荣 发表于 2013-4-9 00:14
你是不是写错了应该是(System.out.println("5+5="+5+5);//"5+5=55")吧?
你上面代码运行的结果就是5+510 ...

我没有写过,就是把毕老师的那个删了些代码,其它我什么 也没有改的,他当时这个代码没有运行的。我试了下就是和他写在后面的注释不一样。所以我才有疑问的。你可以看下毕老师的代码,在第二天,文件名就是OperateDemo.java,谢谢了,我懂了。
作者: 施家雄    时间: 2013-4-9 19:43
张旺达 发表于 2013-4-9 08:52
("5+5="+5+5)输出的是5+5=55;
("5+5="+(5+5))输出的是5+5=10;
执行会有先后顺序的,这就是一个最好的例子 ...

已解决,谢谢了。。
作者: 施家雄    时间: 2013-4-9 19:45
黑马潘浩 发表于 2013-4-9 00:07
首先"5+5"是一个字符串,里面的+是一个字符,不是一个运算符,所以"5+5"+10就变成了字符串"5+510"了.这个打印 ...

谢谢你的回答,我现在懂了。。是老师多加了一个括号。
作者: 施家雄    时间: 2013-4-9 19:46
余善航 发表于 2013-4-9 00:10
System.out.println("5+5"+(5+5));
运算方法 当然是从最里往外部算了    输出括号内还有括号,所以先算里面 ...

谢谢你的回答,那就是毕老师多写了个括号。。
作者: 施家雄    时间: 2013-4-9 21:24
黄玉昆 发表于 2013-4-9 08:03
如果问题未解决,请继续追问,如果没有问题了,请将帖子分类 改为“已解决”,谢谢 ...

版主,刚才忘记了,现在才想起来的,本来进来改下的。。。麻烦你了。




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