已有101人关注
算数运算符
发表在Java图书答疑 2015-03-18
是否精华
版块置顶:
package Number;

public class Arith {

public static void main(String[] args) {
float number1 = 45.56f;
int number2 = 152;
System.out.println("和为:" + number1 + number2);
System.out.println("差为:" + (number2-number1));
System.out.println("积为:" + number1 * number2);
System.out.println("商为:" + number1 / number2);

// TODO 自动生成的方法存根

}

}

控制台得出结果如下:
和为:45.56152
差为:106.44
积为:6925.12
商为:0.29973686 
                 
问题如下:
1.这当中的 System.out.println("和为:" + number1 + number2)  和怎么会等于 45.56152呢?

2.还有:   System.out.println("差为:" + (number2-number1)); (number2-number1))这里为什么要加括号呢?

3. 然后如果在:  System.out.println("和为:" + (number1 + number2));
System.out.println("差为:" + (number2 - number1));
System.out.println("积为:" + (number1 * number2));
System.out.println("商为:" + (number1 / number2));
  
这里面全部加上括号, 只有System.out.println("和为:" + number1 + number2)  的和从45.56152变成197.56 了 
  其他的值在控制台都没有变!能不能解释下这情况?
分享到:
精彩评论 1
菜鸟级精英
学分:0 LV1
TA的每日心情
开心
2020-03-23 21:05:48
2015-03-18
沙发
问题1:
这是书中代码有误,缺少大括号导致的,正确写法应该是System.out.println("和为:" +( number1 + number2));

问题2:
如果不加括号就会引起问题1的错误:缺少括号的话,最后输出的不是计算结果,而是拼接出的字符串。

问题3:
先看Java中字符串拼接规则的三个例子:
String a = "1" + 2 + 3;      //碰到字符串后,直接输出后面内容,结果a=123,
String b = 1 + 2 + "3";      //碰到字符串前,先做运算,后输出内容,结果b=33
String c = "1" + (2 + 3);    //碰到大括号,先运算大括号中的值,后输出内容,结果c=15
结合问题1和问题2, System.out.println("和为:" + number1 + number2)缺少括号,就直接输出字符串的拼接结果45.56152,就是45.56后面接上了152.如果加上了括号,就输出括号里的运算结果,就是197.56。
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照