黑马程序员技术交流社区
标题:
while 语句
[打印本页]
作者:
张红伟
时间:
2013-9-8 18:23
标题:
while 语句
本帖最后由 杨增坤 于 2013-9-11 17:41 编辑
今天在看毕老师的视频中看到,while语句的讲解;有点不是太明白。
$NB3{ZRW[BCX6{Y450N`TC4.jpg
(42.36 KB, 下载次数: 53)
下载附件
2013-9-8 18:18 上传
class whiledemo{
public static void main(String【】 args){
int y=0;
while(y<3){
System.out.println("y="+y);
y++;
}
System.out.println("y===="+y);
}
}
为什么y====3呢
作者:
武嘉豪
时间:
2013-9-8 18:25
class whiledemo{
public static void main(String【】 args){
int y=0;
while(y<3){
System.out.println("y="+y);
y++;
}
System.out.println("y===="+y);
}
复制代码
while的执行方法是先判断后执行
当y=2的时候
符合y<3的条件
于是又进入循环体 打印出了y=2
然后执行 y++ 这时候y=3
当再次判断的时候就不符合y<3这一条件
于是跳出循环,但是y的值还是3
作者:
张红伟
时间:
2013-9-8 18:30
恩恩 懂了,谢谢,嘿嘿
作者:
落叶归根
时间:
2013-9-8 18:39
首先,Y在while循环中循环了3次。所以你看到打印出的结果是y分别等于0,1,2,当y=3时,才跳出while循环。所以最后打印的那个y====3。
作者:
hmwudizl91zl
时间:
2013-9-8 21:33
while 语句中是先判断在执行,当y++后等于3时,再次判断的话y<3返回false,所以不再执行{}中的语句,所以后面直接输出y====3
作者:
张云飞
时间:
2013-9-8 21:53
第一种理解:
总共进了循环3次,这个可以理解吧(分别是y=0、y=1、y=2时进入循环),每次进入循环y的值都会自加1,那么y总共自加了3。所以,最后y=3。
第二种理解(最简单嘛):
想一想最后一次为什么进不去循环了???
因为 y=3 (不满足y<3)了嘛,是吧。
作者:
辛春鹏
时间:
2013-9-8 21:59
当y的值等于2的时候,判断while循环的条件依然成立,进入循环语句。打印y===2之后y自增,此时y=3.跳出while循环,继续向下执行代码。执行到打印语句是,y被打印。。。。。此时的y已经是3喽
作者:
流浪的风
时间:
2013-9-8 22:04
这个其实是while循环语句是先判断条件所至的,其实y是被赋值为3,但是判断条件的时候已经不符合循环条件,当然不会被打印了!
作者:
陶智第
时间:
2013-9-8 22:48
循环执行了3次,最后一次循环中y++语句使y的值从2变成了3
但当y=3时已不满足循环条件
所以最后结果y的值是3
作者:
陶智第
时间:
2013-9-8 22:49
循环执行了3次,最后一次循环中y++语句使y的值从2变成了3
但当y=3时已不满足循环条件
所以最后结果y的值是3
作者:
王杰庆
时间:
2013-9-9 15:43
因为while最后执行的时候y++了,当y=3的时候不满足while的条件所以循环结束,而此时对应的y的值为3
作者:
王杰庆
时间:
2013-9-9 15:45
因为在循环内部,执行打印之后y++一次,当打印y=2的结束的时候y自增了一次,此时y的值为3,而这是不满足条件循环结束,y对应的值为3;
作者:
杨增坤
时间:
2013-9-9 19:42
楼主,你好,如果您的问题解决了!
请把您问题的
未解决
更改为
已解决
!
谢谢合作!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2