黑马程序员技术交流社区
标题:
while的小问题
[打印本页]
作者:
赵嘉男
时间:
2012-5-20 17:35
标题:
while的小问题
public static void main(String[] args) {
int x = 1;
while(x<=3)
{
System.out.println("x="+x);
x++;
}
System.out.println(x);
}
}
结果:
x=1
x=2
x=3
4
最后一个结果x怎么等于4呢,都出了大括号了,为什么不是1呢,
作者:
蒋映辉
时间:
2012-5-20 17:41
你的X的作用域是整个main函数 在循环里加了 后面肯定也是加了的值啊
作者:
8161776
时间:
2012-5-20 17:54
本帖最后由 杨尧 于 2012-5-20 17:55 编辑
public static void main(String[] args) {
int x = 1;
while(x<=3)
{
System.out.println("x="+x);
x++;
}
System.out.println(x);
}
}
结果:
x=1
x=2
x=3
4
最后一个结果x怎么等于4呢,都出了大括号了,为什么不是1呢,
//因为你x自增了,++是给x自增的,x的作用于是main函数里,你一共自增了3次,所以最后打印是4
复制代码
作者:
杨康
时间:
2012-5-20 17:58
当你x=3的时候 还满足条件,他会继续执行循环体,执行完了s.o.p后 ,还有个x++,又完成了一次自增,这时候x=4.又返回while循环,判断x不满足小于等于3,直接跳到最后的输出语句,结果当然是4.
作者:
龚正军
时间:
2012-5-20 18:15
楼主注意:你忘记了变量的定义。
int x=1; -----------------中的 X是变量,而这个变量作用的范围是整个函数(方法)。这点你要明白。
while(){}后,-----------------------x是4了,这点解释下。当最后一次循环后打印是X=3,但是后面还有句X++;所以X最后出循环的时候是4了,这点要清楚。
然后你的疑问是int x=1; 作用整个函数(方法),为什么X不是继续是1,而是循环结束后的4难????
------------------------------楼主,所谓变量,就是在不停变化的量啊,都变成了4了,你怎么还要求他是1难?
--------------------------------int x=1; ----只是对变量x初始化(也就是一开始的值),但是可以随时更改的啊,这才是变量啊!!
作者:
niceBoy
时间:
2012-5-20 22:20
x作用与整个main
作者:
程旦
时间:
2012-5-20 22:56
首先x在整个main函数里 最后一次循环x++后 x变成4 正因为此时x=4了 所以才跳出循环了
作者:
hongbo
时间:
2012-5-20 23:06
x=3时,while判断x=3,做一次循环,循环中有个x++,所以x此时为4.
作者:
彩虹
时间:
2012-5-21 00:08
分析:一开始X=1,循环开始,满足条件打印出x=1;接下来x++,x变为2
x=2,满足条件,打印出x=2;x++,x变为3
x=3,满足条件,打印出x=3;x++,x变为4
x=4,不满足循环条件,跳出循环
循环是跳出来了,但x此刻等于4,所以打印出了4
作者:
陌花╮有意、
时间:
2012-5-21 01:39
这个x在main函数内 所做的一切对x的变化都有效 除非在main函数括号外
作者:
我能驾驭住
时间:
2012-5-21 08:44
本帖最后由 我能驾驭住 于 2012-5-21 08:50 编辑
public static void main(String[] args) {
int x = 1;
while(x<=3)//它的意思是当x<=3的时候执行大括号里面的语句
{
System.out.println("x="+x);//这肯定是执行打印三次 分别是x=1,x=2,x=3 对吧;没有疑问是吧!
x++;//执行到x=3的时候,执行这个语句,x的值是不是自动+1,就变成x=4了是吧,然后返回到whille语句
再进行判断,如果满足条件再执行循环体,不满足条件退出循环!很显然4大于3,则退出,但这
时候, x的值是4!所以x=4的时候退出了.....向下执行......
}
System.out.println(x);//循环退出后,执行到这一条语句,所以这里打印取x=4的值!
}
}
注:while语句是,直到条件不满足才退出循环体!
作者:
荣天
时间:
2012-5-21 09:26
public static void main(String[] args) {
int x = 1;
while(x<=3)
{
System.out.println("x="+x);
x++;
}
System.out.println(x);
}
}
当while 执行玩后
x++;
x的值3 在加1
在最后输出时:4 (3+1)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2