当前位置: 首页 > >

java while语句_Java while循环语句

发布时间:

Java while循环语句


循环语句除了for循环之外还有while和do..while,接下来我们先来看一下while循环,首先学*while循环的语法结构,如下图所示:



图6-29:while循环语法结构


通过上图可以看出while循环的语法结构非常简单,它的执行顺序以及原理是这样的,先判断布尔表达式的结果,如果是true,则执行循环体,循环体结束之后,再次判断布尔表达式的结果,如果是true,再执行循环体,循环体结束之后,再判断布尔表达式的结果,直到结果为false的时候,while循环结束。如果起初第一次判断布尔表达式结果的时候就是false,那么while循环体执行次数就为0了。它的执行顺序以及原理也可以参见下图:



图6-30:while循环执行顺序以及原理


通过while循环的执行原理可以得出while循环的循环体执行次数可能是0次,也可能是N次。那么要想使用while循环实现一个死循环,代码应该怎么写呢?


while(true){


System.out.println("死循环");


}


运行结果就不再给大家展示了,要使用while实现一个死循环是非常简单的,让判断条件一直为true就可以了。那么使用while循环实现输出1~10应该怎么做呢?


int i = 0;


while(i < 10){


i++;


System.out.println("i = " + i);


}


运行结果如下图所示:



图6-31:使用while循环输出1~10


其实使用while循环输出1~10不止有以上这一种方式,还有其他方式,例如:


int j = 1;


while(j <= 10){


System.out.println("j = " + j);


j++;


}


运行结果如下图所示:



图6-32:使用while循环输出1~10


当然,大家还可以想想有没有其它的写法,可以自己写一写,例如:


int i = 0;


while(i < 10){


System.out.println("i = " + (++i));


}


再如:


int j = 1;


while(j <= 10){


System.out.println("j = " + j++);


}


使用while循环计算1~100所有偶数的和,应该怎么做呢?


int sum = 0;


int i = 0;


while(i <= 100){


if(i % 2 == 0){


sum += i;


}


i++;


}


System.out.println("sum = " + sum);


sum = 0;


int j = 0;


while(j <= 100){


sum += j;


j += 2;


}


System.out.println("sum = " + sum);


运行结果如下图所示:



图6-33:while循环计算1~100所有偶数和


实际上while循环可以看做是for循环的另一种变形写法,本质上是一样的,执行效率上也是一样的,硬要说它们有什么不同的话,首先while循环语法结构比for更简单,for循环的计数器比while更清楚一些,另外for循环的计数器对应的变量可以在for循环结束之后就释放掉,但是while循环的计数器对应的变量声明在while循环外面,扩大了该变量的作用域。总之,不管是for还是while,大家都必须掌握,因为这两个循环使用最多。



友情链接: