java-循环语句

ぃ、小莉子 提交于 2020-01-24 14:50:32

在java里面的循环语句大致分为四种:for循环、while循环、do...while循环和增强for循环。下面进行一一讲解。

for循环,for循环是java代码中最为常见的循环形式,其语法格式为:

for(表达式1;表达式2;表达式3){

  循环的代码块;

}

表达式1:一般作为变量的初始化,定义变量,并赋初始化值。

表达式2:作为判断语句(条件语句)

表达式3:在循环的代码块运行结束之后,再运行的代码,一般作为改变变量的值。

for循环中的执行顺序:表达式1-->表达式2--> 循环的代码块-->表达式3

for循环的流程图:

事例代码1:

1 public void method_1(){
2   //使用for循环,在控制台输出1到100的数
3   for(int i = 1;i <= 100;i++){
4     //在控制台输出i,i即使从1一直到100
5     System.out.println(i);
6   }
7 }

上面的代码,一开始i的值为1,每次执行完,i自增1,根据判断条件,直到i大于100,才停止,没有停止之前,i一直增加并输出。

 

while循环:

定义变量并初始化值;

while(表达式1){

  循环的代码块;

  表达式2(改变变量的值)

}

注意:1)在使用while循环之前,一定要定义变量并初始化值,否则, 会报错。这个变量是在while的条件判断。

2)在循环体里面,也就是while循环的大括号里面,在循环的代码块后面一定要记得写改变变量的值,否则会出现死循环。

while循环的流程图:

事例代码2:

1 public void method_2(){
2   //定义一个变量,并初始化值;
3   int i = 1;
4   //使用while循环代码。输出1到100
5   while(i <= 100){
6     System.out.println(i);
7     i++;
8   }  
9 }

以上是while循环的代码,注意的是第3行代码和第7行代码,虽然不属于while循环的语法结构,但是如果少了,会报错或者死循环。

 

do..while循环:

do...while循环也是一个循环,和while相似,但又有区别,先看do...while循环的语法:

定义变量并初始化值;

do{

  循环的代码块;

  改变变量的值;

}while(表达式)

注意:1)在写do...while循环之前,一定要定义变量并初始化值,这个变量用于while里面的判断。

2)在do的大括号里面,除了循环的代码块,需要在后面加上改变变量的值。

do...while循环的流程图:

事例代码3:

1 public void method_3(){
2   //定义一个变量,并初始化值;
3   int i = 1;
4   //使用do...while循环,输出1到100
5   do{
6      System.out.println(i);
7      i++;
8   }while(i <= 100)
9 }

上面的代码注意的是第3行和第7行,如果少了会出现报错或者死循环。

 

对于while循环和do...while循环,语法结构都非常的相似,下面说一下while循环和do...while循环的区别:

从语法和流程图可以看出,while是先判断,只有当表达式结果正确的情况下,才会执行循环的内容,而do...while循环是先执行循环的内容,再进行判断,这这样,当一开始条件就不满足的情况下,do...while至少会执行一次循环的代码,而while循环则一次都不运行。

 

增强for循环:这种循环适用于对象才能使用,比如数组,集合框架等。

语法:for(数据类型  从对象中取出的元素 :对象名){

  

}

事例代码4:

1 public void method_4(){
2   //定义一个数组,数据类型为int 
3   int[] num = {1,2,3,4,5,6,7,8};
4   //使用增强for循环,遍历出num数组中的所有元素。
5   for(int i : num){
6     //for循环中的i值,表示的是数组中的元素,而不是下标,这个一定要注意
7     System.out.println(i);
8   }
9 }

 

跳出循环的两种方式:

break:跳出整个循环,当在循环的代码中,如果读取到了代码break;则结束整个循环。

continue:跳出本次循环,继续下一次循环,在循环的代码中,如果读取到了continue代码,则跳出本次循环,也就是循环体中的continue代码以下的所有代码将不再执行,而是从头开始下一次的循环。

这两者的最大区别在于:break是不再执行循环代码,跳出的是整个循环,而continue依然在循环体系中执行,只是本次的代码 不再执行而已。

事例代码5:循环输出从1到10,当遇到了5之后,则结束循环,使用break;

 1 public void method_5(){
 2   //使用for循环,从1到10输出  
 3   for(int i = 1;i <= 10;i++){
 4       //如果遇到了5,则结束循环:
 5       if(i % 5 == 0){
 6           break;
 7       }
 8       System.out.println(i);
 9   }
10 }        

以上代码:因为遇到5,则执行break;,结束整个循环,则最终控制台输出的为:1,2,3,4

事例代码6:循环输出从1到10,当遇到5之后,则跳出本次循环,使用continue

 1 public void method_6(){
 2   //使用for循环,从1到10输出
 3   for(int i = 1;i <= 10;i++){
 4      //判断,如果i等于5的时候,则执行continue代码
 5      if(i % 5 == 0){
 6        continue;
 7      }
 8      System.out.println(i);
 9   }
10 }

以上代码:因为遇到5,则执行continue;跳出当次循环,继续下一次的循环,则最终控制台输出的为:1,2,3,4,6,7,8,9,10

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!