黑马程序员技术交流社区
标题: 程序执行过程中变量值变化问题 [打印本页]
作者: fyg408224345 时间: 2015-6-9 23:35
标题: 程序执行过程中变量值变化问题
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
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |