Java-循环语句的使用介绍(for、while、do-while)

首先是最经常使用的for语句,下面看看for语句的结构:
for 语句的基本结构如下所示:
for(初始化表达式;判断表达式;递增(递减)表达式){
    执行语句;   //一段代码
}

初始化表达式:初始化表达式的意义,在于定义循环之前变量的值是多少,如果没有这一项,就不知道该从哪个值开始循环。
判断表达式:判断表达式的作用在于规定循环的终点。如果没有判断表达式,那么此循环就成了死循环。
递增(递减)表达式:这一项规定每执行一次程序,变量以多少增量或减量进行变化。
结构清楚了,现在就举一个最基础的例子来介绍一下:(这个例子是循环输出0到5的数字。)
[java]  view plain  copy
  1. //for循环基础写法  
  2. for(int i=0;i<5;i++){  
  3.     System.out.println("i:"+i);  
  4. }  
如果不想在for中进行初始化的可以这么写:
[java]  view plain  copy
  1. //for循环中初始化放在外面的写法  
  2. int j=0;  
  3. for(;j<=6;j=j+2){  
  4.     System.out.println("j:"+j);  
  5. }  
如果想要利用for语句实现死循环的可以这么写:
[java]  view plain  copy
  1. //        for特性写法  
  2.         for(;;){  
  3.             System.out.println("yes");  
  4.         }  
如果即想要实现死循环又想要对参数进行控制的,可以这么写:
[java]  view plain  copy
  1. int n=0;  
  2. for(;;n=n+10){  
  3.     System.out.println("n:"+n);  
  4. }  
如果想要利用for来遍历数组或者遍历集合对象的,可以这么写:
[java]  view plain  copy
  1. //利用for循环进行遍历数组或者对象  
  2. String[] strNum={"张三","李四","王五"};  
  3. for(String str:strNum){  
  4.     System.out.println("name:"+str);  
  5. }  
如果想要利用for实现多层循环的,可以这么写:
[java]  view plain  copy
  1. //for实现双层循环  
  2. for(int i=0;i<5;i++){  
  3.     for(int j=0;j<5;j++){  
  4.         System.out.print(j+"  ");  
  5.     }  
  6.     System.out.println("i:"+i);  
  7. }  
不过这里需要注意的是:开发过程中尽量少写多层循环,因为多层循环非常耗费时间,效率特别低下。
现在在来给大家介绍一下while的结构和用法:
while 关键字的中文意思是“当……的时候”,也就是当条件成立时循环执行对应的代码。while 语句是循环语句中基本的结构,语法格式比较简单。
while 语句语法格式:
while(循环条件)
         循环体;

为了结构清楚,并且使循环体部分可以书写多行代码,一般把循环体处理成代码块,则语法格式变为:
while(循环条件){
         循环体;
}

语法说明:和if 语句类似,如果不是用代码块的结构,则只有while后面的第一个语句是循环体语句。在该语法中,要求循环条件的类型为boolean类型,指循环成立的条件,循环体部分则是需要重复执行的代码。
执行流程:在执行while 语句时,首先判断循环条件,如果循环条件为false,则直接执行while 语句后续的代码,如果循环条件为true,则执行循环体代码,然后再判断循环条件,一直到循环条件不成立为止。
结构清楚了,接下来就举一个简单的例子,给大家介绍一下while具体的使用方法:
[java]  view plain  copy
  1. //while基本  
  2. int i=0;  
  3. while(i<5){  
  4.     System.out.println("i:"+i);  
  5.     i++;  
  6. }  
如果想要使用break或者continue来控制while退出的条件,可以这么写:
[java]  view plain  copy
  1. //使用break或者continue  
  2.        int accout=0;  
  3.        while(true){  
  4.            System.out.println("accout:"+accout);  
  5.            accout++;  
  6.            if(accout==5){  
  7.                break;  
  8.            }  
  9.            if(accout==2){  
  10.                continue;  
  11.            }  
  12.        }  
但是如果这么写的话就会出现死循环:
[java]  view plain  copy
  1. //这样的写法会导致死循环的出现  
  2. int accout=0;  
  3. while(true){  
  4.     if(accout==5){  
  5.         break;  
  6.     }  
  7.     if(accout==2){  
  8.         continue;  
  9.     }  
  10.     System.out.println("accout:"+accout);  
  11.     accout++;  
  12. }  
为什么会出现死循环呢?这里最大的原因就是continue的使用,因为account==2的时候就不会执行account++这个语句了,所以就不会有account==5条件成立的时候了。
最后在给大家介绍一下do-while的结构和使用方法:
do-while 语句由关键字do 和while 组成,是循环语句中最典型的“先循环再判断”的流程控制结构,这个和其它2 个循环语句都不相同。
do-while 语句的语法格式为:
do{
        循环体;
}while(循环条件);

语法说明:在do-while 语句中,循环体部分是重复执行的代码部分,循环条件指循环成立的条件,要求循环条件是boolean 类型,值为true 时循环执行,否则循环结束,最后整个语句以分号结束。
执行流程:当执行到do-while 语句时,首先执行循环体,然后再判断循环条件,如果循环条件不成立,则循环结束,如果循环条件成立,则继续执行循环体,循环体执行完成以后再判断循环条件。
结构清楚了现在就举一个简单例子,看看do-while具体的使用方法:
[java]  view plain  copy
  1. //do-while的基本用法  
  2. int i=0;  
  3. do {  
  4.     System.out.println("我一定会执行一次的");  
  5.     i++;  
  6. }while(i<5);  
三种循环到此就介绍完了,现在给大家说一下三种例子的具体使用场景:
1.for一般是在循环个数已知的情况下使用的
2.while一般是在循环个数未知,且循环受到严格控制的情况下使用的。
3.do-while一般也是在循环个数未知,但是它和while最大的不同点在于,不管循环的条件是什么,do-while都会至少执行一次。
最后在给大家用这三种循环举三个1+2+3+4+。。。+100的案例:
[java]  view plain  copy
  1. //分别使用三种循环结构实现1+2+3。。。+100的值  
  2. int iTotal=0;  
  3. for(int i=1;i<=100;i++){  
  4.     iTotal=iTotal+i;  
  5. }  
  6. System.out.println("for 100:"+iTotal);  
  7.   
  8. int wTotal=0;  
  9. int wi=0;  
  10. while(wi<=100){  
  11.     wTotal=wTotal+wi;  
  12.     wi++;  
  13. }  
  14. System.out.println("while 100:"+wTotal);  
  15.   
  16. int dwTotal=0;  
  17. int dwi=0;  
  18. do{  
  19.     dwTotal=dwTotal+dwi;  
  20.     dwi++;  
  21. }while(dwi<=100);  
  22. System.out.println("do-while 100:"+dwTotal);  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值