我正在使用下面的自由文本来学习java的介绍,我无法理解代码段之间的区别:
http://math.hws.edu/eck/cs124/downloads/javanotes7-linked.pdf
例1
int x;
x = -1;
if (x < 0)
x = 1;
else
x = 2;
Run Code Online (Sandbox Code Playgroud)
例2
int x;
x = -1;
if (x < 0)
x = 1;
if (x >= 0)
x = 2;
Run Code Online (Sandbox Code Playgroud)
在例1中,x是1; 在示例2中,x是2.
在右边,如果-1不是>或=到0那么输出不应该是1?有人可以解释为什么输出会改为2吗?
一旦评估了第二个if语句,x第一个语句已经生效 - 所以值x现在为1.
if (x < 0)
x = 1;
if (x >= 0) //x is 1 because you've already evaluated the above!
x = 2;
Run Code Online (Sandbox Code Playgroud)
该else关键字创建互斥的分支:只有一个可以被执行.所以,如果你有这个,行为将如你所愿:
if (x < 0)
x = 1;
else if (x >= 0)
x = 2;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
94 次 |
| 最近记录: |