我是整数的新手

时间:2016-06-12 20:44:46

标签: int

我是java的新手,我遇到了问题。

   int a = 4;
   int b = 8;
   int c = a + b;

   System.out.println("Number: " + c + b);

当我写这篇文章时,控制台说:

号:128

为什么数字不是16?

4 个答案:

答案 0 :(得分:0)

因为"Number: "是一个字符串,所以加号将整数附加到字符串的末尾。

你想要的是System.out.println("Number: " + (c + b));

额外的括号告诉Java在将数字加法添加到字符串之前先计算数字加法。

答案 1 :(得分:0)

结果是

"Number:" "12" "8"

变量c12b8。 首先将c转换为字符串并附加,然后将b转换为字符串并附加。

答案 2 :(得分:0)

+运算符是左关联的 - 您从字符串"Number: "开始,然后计算+ c,它只会将c转换为字符串并附加它(导致"Number: 12"),然后与b相同,追加另一个"8",结果为"Number: 128"

如果您想首先评估c+bint s,则应使用括号括起该计算:

System.out.println("Number: " + (c + b));

答案 3 :(得分:0)

因为它正在进行字符串连接而不是算术计算。因此,c 12的值和b 8的值彼此相邻打印。