A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

为什么这个结果不是3,还是请高手出来解答下
public class myinteger {
        public static void main(String [] args){
                int i=1;
                int j=2;
               
                System.out.println("1+2="+i+j);
                       
                }
}


7 个回复

正序浏览
你想要的结果是3,应该运算i+j,再将结果转换成字符。
回复 使用道具 举报
13hoop 中级黑马 2015-3-11 12:02:48
7#
加号知识逻辑链接
不是运算符号
回复 使用道具 举报
楼上正解
回复 使用道具 举报
运算时,是从左往右执行的。 “1+2”+i+j  这里面的加号都作为连接符使用, i 和j都被默认提升为string类型。输出结果为:1+2=12

评分

参与人数 1黑马币 +1 收起 理由
万合天宜 + 1 赞一个!

查看全部评分

回复 使用道具 举报
其实你已经理解很透彻了,这道题结果你肯定知道:handshake
回复 使用道具 举报
是的,但是结果呢?这道题我们该如何理解呀,这点才重要{:3_47:}
回复 使用道具 举报
   System.out.println("1+2="+i+j);
该句中i前的‘+’起连接作用,因为它的左边是个字符串。
想输出正确的结果,这样做:(i+j),让它们先运算,再与连接"1+2="

System.out.println("1+2="+(i+j));

评分

参与人数 1黑马币 +1 收起 理由
万合天宜 + 1 很给力!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马