println输出中的java添加
我在浏览一些java拼图时发现了这个
public class Elementary {
public static void main(String[] args) {
System.out.println(12345 + 5432l);
}
}
它不是应该打印66666,而是打印17777。有人能解释一下吗
你可以在下面搜索框中键入要查询的问题!
我在浏览一些java拼图时发现了这个
public class Elementary {
public static void main(String[] args) {
System.out.println(12345 + 5432l);
}
}
它不是应该打印66666,而是打印17777。有人能解释一下吗
# 1 楼答案
你现在的数字写为字符l。你必须写数字1。 你看到l和1的区别了吗
# 2 楼答案
我认为,由于5432l中的最后一个不是数字“1”,而是字母“l”,因此编译器会跳过它,并将12345与5432相加
# 3 楼答案
我同意上面的答案。但也值得一提的是,这是一个非常常见的错误,这也是为什么人们非常欣赏以这种方式编写代码的原因:
L-大写,更直观地显示变量的类型
# 4 楼答案
如果你仔细观察它最后的字符“l”(5432l)而不是“1”
这意味着它是“长”类型值
如果没有后缀,且为整型(如5623),则假定为int。如果不是整型(如3.14159),则假定为double
long(例如39832L)、float(例如2.4f)和double(例如-7.832d)有特定的后缀。 除此之外,我们还需要计算数字
现在你们的问题是,若你们把这两个数字加起来(12345+5432),你们会得到(17777)
# 5 楼答案
以下是答案的说明:- 1.如果您打印
12345 +54321 = 66666
。 2.在您的情况下,它是12345+5432l
=12345+5432(此数字的长度以前缀l表示)l
=12345(内部)+5432(长)
=(长)12345+5432
=17777
更多说明请查看下面的代码