国际空间研究组织 | ISRO CS 2013 |问题 63
以下Java程序的输出是什么?
Class Test
{
public static void main (String [] args)
{
int x = 0;
int y = 0;
for (int z = 0; z < 5; z++)
{
if((++x > 2) || (++y > 2))
{
x++;
}
}
System.out.println( x + " " + y);
}
}
(一) 8 2
(乙) 8 5
(三) 8 3
(四) 5 3答案:(一)
说明:通过应用短路技术,
z = 0: x = 1, y = 1, if condition false
z = 1: x = 2, y = 2, if condition false
z = 2: x = 3, if condition true and due
to short circuiting ++y is not evaluated,
x++ // x = 4
z = 3: x = 5, again if condition is true,
x++ // x = 6
z = 4: x = 7, condition true, x++ // x = 8
所以,选项(A)是正确的。
这个问题的测验