System.out.println如何工作?

时间:2013-06-01 17:17:51

标签: java system.out

我有以下代码:

Integer b = 4;      
System.out.println(b+++10);

为什么System.out.println会评估该表达式?如果查看Java的源代码,您将找不到评估此表达式的代码。

另外,为什么b+++有效?我以为变量后只能有两个+

提前致谢。

2 个答案:

答案 0 :(得分:4)

如果您将代码放在Netbeans中并格式化(Alt-Shift-F),您会看到:

    Integer b = 4;
    System.out.println(b++ + 10);

结果是4 + 10为14.命令后b的值为5。

答案 1 :(得分:-1)

让我在这里引用@Rup来解答你的第一个问题:

  

评估它并不是真正的println - 如果你将它分配给一个变量并打印出你会得到相同的结果。

要添加它,正在评估该表达式的 Java 。如果你将它放入任何其他功能,它也会起作用。它是Java的一部分 - 它被称为“嵌套表达式”。

对于你的另一个问题,请参阅@ user000001的回答,并在评论中进行了讨论(我编辑了它以使其更清晰):

  

通常不清楚结果是15. b已增加。

     

换句话说,即使Integer b = 4; System.out.println(b++ );已递增,b也会给出4。 - BenMansourNizar

     

@BenMansourNizar这是因为您正在使用后缀运算符(请参阅http://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html。)使用b++首先使用该值,然后递增。如果使用++b,则值将在使用前递增。 - user000001 2013年6月2日17:58

     

非常感谢,user0000001 :) - BenMansourNizar

我希望你和其他人发现这些信息有用,我真的只是引用了一堆东西并对其发表了评论:P