int i = 100; while(true) { If ( i++ > 100 ) break; System.out.println(i); } 这个程序执行到if(i ++ > 100)时,100不大于100,不执行break,这我知道,直接执行System.out.println(i);问题来了,输出的i的值到底为什么是101. if(i ++ > 100)这句话意思不是:如果i++在加前大于100的话,就执行下面的语句。既然是如果,那为什么会包含计算i++加后的值。 同样,下面的程序也是这个问题。 int x =1,y=1; if(x++==2 & ++y==2) { x=7; } System.out.println("x="+x+" , y="+y); A. x=1 y=2 B. x=7 y=1 C. x=7 y=2 D. x=2 y=2
boolean b=true; if(b=false) 这里if(b = false) 不是如果b = false吗?既然是如果,那为什么运行结果最后是c呢? { System.out.println("a"); } else if(b) { System.out.println(b); } else if(!b) { System.out.println("c"); } else System.out.println("d"); A. a B. true C. c D. d
同样 Class Demo { public static void main(String [] args) { int a=10; if(a++>10) { a=20; } System.out.println(a); } } A. 11 B. 12 C. 20 D. 21
|