黑马程序员——Java基础---循环语句

来源:互联网 发布:java自行车是哪个国家 编辑:程序博客网 时间:2024/06/07 02:20

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------


一.概述

循环语句(Loop statements)是由循环体及循环的终止条件两部分组成的。在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要 重复执行某些语句。一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件。Java 的循环语句有while  do-while for。这些语句创造了我们通常所称的循环(loops)。

二.循环语句--while语句

while 语句是Java 最基本的循环语句。当它的控制表达式是真时,while 语句重复执行一个语句或语句块。其格式如下:  

<span style="white-space:pre"></span>while(条件表达式){<span style="white-space:pre"></span>//循环体<span style="white-space:pre"></span>}

  1. 条件表达式:一定要是一个返回boolean类型的结果的表达式。可以是条件表达式或逻辑表达式
  2. 如果条件表达式返回true,则进入循环体,执行循环体内的代码。
  3. 执行完循环体内代码后,再次回到"条件表达式"进行验证,如果还是为true,则再次进入循环体,如果为false,则跳到循环体后执行后续代码。
  4. 果只有单个语句需要重复,大括号可以省略。

举例:利用while 循环从1开始进行加计数10,并打印

条件语句满足true的条件是n<=10,没打印一次n++,直到n=11时条件为false,跳出循环,结束程序.如果一开始n就>10,循环语句就不执行,由于循环语句外边没有    其他的可执行语句,该程序会直接结束运行;

<span style="white-space:pre"></span>class Test{<span style="white-space:pre"></span>public static void main(String args[]) {<span style="white-space:pre"></span>int n = 1; <span style="white-space:pre"></span>while(n <=10) {<span style="white-space:pre"></span>System.out.println("num " + n);<span style="white-space:pre"></span>n++; <span style="white-space:pre"></span>}<span style="white-space:pre"></span>}<span style="white-space:pre"></span>}

三.循环语句--do-while语句

do_while循环语句格式

<span style="white-space:pre"></span>do{//循环体}while(判断语句);
1.do-while循环语句执行流程:
1).先执行"循环体"语句
2).
进行while判断;
如果为true:再进入循环体执行循环体语句;
如果为false:跳到do_while的后续代码执行;
2.与while循环的区别:
1).do_while:总是先无条件的执行一次循环体语句,然后再进行判断
,也就是说该循环语句的循环体至少会被执行一次
2).while:总是先进行判断,然后再决定是否进入循环体。

举例:

<span style="white-space:pre"></span>class Demo <span style="white-space:pre"></span>{public static void main(String[] args) {do{System.out.println("HelloWorld");}while(false);
<span style="white-space:pre"></span>}
<span style="white-space:pre"></span>}
在上述例子中虽然判断语句为false,但他的循环体语句还是会被执行一次的,运行结果为如下


在do-while语句中,如果执行完一次循环体后while中的判断语句结果为true了,会再回到do里面去执行循环体直到判断语句为false才跳出整个循环.,

举例:

<span style="white-space:pre"></span>class Test1{public static void main(String[] args) {int num = 1;int sum = 0;do{sum+=num;num++;}while(num <= 100);System.out.println("sum = " + sum);}
<span style="white-space:pre"></span>}
该程序是计算1-100的和,也就是说num>100的时候结束循环,会执行下面的打印语句.其运行结果是5050.

四.循环语句--for循环语句

for循环的格式:

<span style="white-space:pre"></span>for(初始化语句;判断条件语句;控制条件语句) {         循环体语句;   <span style="white-space:pre"></span> }
上述三条语句,都不是必须的,可以分开写。但是,分号一定要写
1.初始化语句:用于初始化循环变量,只在循环语句被第一次执行时,执行一次;
2.判断条件语句:产生一个boolean值,如果为true进入循环,否则,结束循环;
3.控制条件语句:一般用于操作循环变量,用以促成"判断条件语句"产生false,结束循环
举例:输出打印1-100.
<span style="white-space:pre"></span>class Test{
<span style="white-space:pre"></span>public static void main(String[] args){
<span style="white-space:pre"></span>for(int num = 1;num <= 100;num++){System.out.println("num = " + num);}
<span style="white-space:pre"></span>}
<span style="white-space:pre"></span>}
该程序的运行过程是,进入main方法,然后执行for循环语句,num的初始化值为1,然后语句"num<=100"判断num是否符合条件,如果true那么会执行循环体,要是false则跳出循环语句,上述条件为真则打印num=1,然后执行num++;此时num的值变为2,再次执行"num<=100"判断num是否符合条件,条件为真会执行打印语句,然后再num++,如此循环直到判断语句的结果为false才结束循环语句.

五.循环语句的嵌套

在一个循环内部,可以嵌套另一个循环,外层循环每循环一次,内部循环都要全部执行一次。
建议:当出现三层以上循环时,就要考虑优化代码或算法;

举例:

<span style="white-space:pre"></span>class Test <span style="white-space:pre"></span>{<span style="white-space:pre"></span>public static void main(String[] args) <span style="white-space:pre"></span>{<span style="white-space:pre"></span>for(int i = 1 ;i <= 5; i++){<span style="white-space:pre"></span>for(int j = 1 ; j <= i ; j++){<span style="white-space:pre"></span>System.out.print("*");<span style="white-space:pre"></span>}<span style="white-space:pre"></span>System.out.println();<span style="white-space:pre"></span>}<span style="white-space:pre"></span>}<span style="white-space:pre"></span>}

程序会先执行外面的判断语句,要是为true则会进入内嵌的for语句,当内嵌for执行完毕后才j++,此时是外边的for语句的一次循环,如此的循环直到外边的判断语句为false后才跳出整个循环语句,运行效果如下:



当然在嵌套中所有的循环语句都可以的,这里就不做举例了,感谢阅读!

0 0