7、Java 循环结构

本章讲解一下Java中常见的三种循环结构,顺序结构的程序语句只能 被执行一次。使用循环可以解决我们多个常量或者变量的同一类的操作或者更加复杂的操作.

循环

循环结构有三大类:

1、for循环:确定循环次数。先判断,再循环。常用嵌套。

语法:

for(参数初始化 ;循环的条件 ;循环变量的叠加 ){

  循环操作;

}

实例:

package com.example.xunhuan;

/**
* @author lin
* @version 1.0
* @date 2020/6/23 23:39
* @Description TODO
*/
public class TestMain {
   static TestMain vo = new TestMain();
   public static void main(String[] args) {
       vo.test();
  }
   public void test() {
       int a[] = {1, 2, 3, 4, 5, 6, 7};
       for (int i = 0; i < a.length; i++) {
           System.out.println("a[i] = " + a[i]);
      }
  }
}

运行结果:

a[i] = 1
a[i] = 2
a[i] = 3
a[i] = 4
a[i] = 5
a[i] = 6
a[i] = 7

2、while循环:不知道循环次数。先判断,再循环。常用死循环。用死循环时就要判断什么时候手动让他停止,而这个时候就常会定义一个Boolean类型的变量,让他初始值为true,到循环该结束时,让他的值为false。

语法:

 while(循环条件){

    循环操作;

  }

实例:

package com.example.xunhuan;

/**
* @author lin
* @version 1.0
* @date 2020/6/23 23:39
* @Description TODO
*/
public class TestMain2 {

   static TestMain2 vo = new TestMain2();

   public static void main(String[] args) {
       vo.test();
  }

   public void test() {
       int a = 0;
       while (a < 10) {
           System.out.println("a = " + a);
           a++;
      }
  }

}

结果:

a = 0
a = 1
a = 2
a = 3
a = 4
a = 5
a = 6
a = 7
a = 8
a = 9

3、do-while循环:不确定循环次数,但至少要循环一次。先循环,在判断。最后的分号不可省。

语法:

 do{

   循环操作

  } while(循环条件);

实例:

package com.example.xunhuan;

/**
* @author lin
* @version 1.0
* @date 2020/6/23 23:39
* @Description TODO
*/
public class TestMain3 {

   static TestMain3 vo = new TestMain3();

   public static void main(String[] args) {
       vo.test();
  }

   public void test() {
       int a = 0;
       do {
           a++;
           System.out.println("a = " + a);
      } while (a < 10);

  }

}

结果:

a = 1
a = 2
a = 3
a = 4
a = 5
a = 6
a = 7
a = 8
a = 9
a = 10

2 练习demo

for循环代码示例:

  1. 打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。

 例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。

1 for(int i=100;i<1000;i++){
2       int ge=i%10;   //求出个位数
3       int shi=i/10%10;   //求出十位数
4       int bai=i/100;   //求出百位数
5       if(ge*ge*ge+shi*shi*shi+bai*bai*bai==i){
6               System.out,println("水仙花数有:"+i);
7           }
8   }

结果:

水仙花数有:153
水仙花数有:370
水仙花数有:371
水仙花数有:407

在循环中常会用到的还有三种跳出循环的语句:

break:结束本次循环,继续执行循环后面的语句。跳到外层循环。

continue:跳过本次循环,剩余的语句继续,继续执行下一次。

      注意:用在while循环里容易出现死循环。要将更新变量语句i++放在continue上面。

return:直接结束当前main方法,遇到return后,方法中的所有代码将不再执行。

    注意:程序中要减少return的使用频率。一旦使用return,整个main方法结束。

实例:

package com.example.xunhuan;

/**
* @author lin
* @version 1.0
* @date 2020/6/23 23:50
* @Description TODO
*/
public class TestMain4 {

   static TestMain4 vo = new TestMain4();

   public static void main(String[] args) {
       vo.test1();
       vo.test2();
       vo.test3();
  }

   public void test1() {
       int[] a = {1, 2, 3, 4, 5, 6, 7};
       int num = 0;
       for (int i : a) {
           if (i == 5) {
               return;
          }
           num++;
      }
       System.out.println("test1()方法 num = " + num);
  }

   public void test2() {
       int[] a = {1, 2, 3, 4, 5, 6, 7};
       int num = 0;
       for (int i : a) {
           if (i == 5) {
               break;
          }
           num++;
      }
       System.out.println("test2(()方法 num = " + num);
  }

   public void test3() {
       int[] a = {1, 2, 3, 4, 5, 6, 7};
       int num = 0;
       for (int i : a) {
           if (i == 5) {
               continue;
          }
           num++;
      }
       System.out.println("test3()方法 num = " + num);
  }


}

 

结果:

test2(()方法 num = 4
test3()方法 num = 6

解释:

使用return时,是直接跳出本方法. break是跳出循环,continue是跳出本次循环.

posted @ 2020-07-20 18:04  发哥讲Java  阅读(233)  评论(0)    收藏  举报