java基础——循环结构

循环结构

while 循环

  • 只要表达式成立,循环就一直持续

  • 我们大多数情况会让循环停下来,我们需要一个让表达式失效的方式,来结束循环

    public static void main(String[] args) {
       // 输出 1+2+···+100
       int i = 0;
       int sum =0;
       while (i<=100){
           sum += i;
           i++ ;
           System.out.println(i);
      }
       System.out.println(sum);
  }

do...while循环

  • 先执行后判断,所有程序至少执行一次

    public static void main(String[] args) {
       int i =0;
       int sum =0;
       do {
           sum +=i;
           i++;
      }while (i<=100);
       System.out.println(sum);
  }

for循环

  • for循环执行的前提就是循环的次数是确定的

  • for循环时最有效最灵活的循环结构

for (初始化;布尔表达式;控制变量更新){
   //语句
}
//for死循环
for( ; ; ){
   //死循环语句
}

   public static void main(String[] args) {
       //0-100之间奇数和偶数的和
       int oddSum = 0;
       int evenSum = 0;
       for (int i = 0; i <= 100; i++) {
           if (i%2 == 0){
               evenSum += i;
          }else{
               oddSum += i;
          }
      }
       System.out.println("奇数的和:"+oddSum);
       System.out.println("偶数的和:"+evenSum);
  }

   public static void main(String[] args) {
       //输出100之内能被5整除的整数,并且每行输出3个
       for (int i = 1; i <= 100; i++) {
           if (i%5==0){
               System.out.print(i+"\t");
          }
           if (i%(5*3) == 0){
               System.out.println();
               //System.out.print("\n");
          }
      }
  }

   public static void main(String[] args) {
       for (int i = 1; i < 10; i++) {
           for (int j = 1; j <= i; j++) {
               System.out.print(j+"*"+j+"="+(i*j)+"\t");
          }
           System.out.println();
      }
  }

增强for循环

java5之后引入了一个主要用于数据或者集合的增强型for循环。

语法如下:

for(声明语句:表达式){
   //代码
}
  • 声明语句:新的局部变量,该变量的类型必须和数据元素的类型匹配,其作用域限定在循环语句中,其值与此时数组元素的值相等

  • 表达式:要访问的数组名,或者返回值的方法。

    public static void main(String[] args) {
       int[] numbers ={10,20,30,40,50};
       // 遍历数组的元素 快捷:numbers.for
       for(int x:numbers){
           System.out.println(x);
      }
  }

break 和continue

break:不干了,

continue :这次不干了,下一次接着干

public static void main(String[] args) {
   // 101-150之间所有的质数
   int count = 0;
   outer:
   for (int i = 100; i < 150; i++) {
       for (int j = 2; j < i/2; j++) {
           if (i%j == 0){
               continue outer;
          }
      }
       System.out.print(i+"\t");
  }
}
    public static void main(String[] args) {
       //输出一个5行的等腰三角$
       for (int i=1;i<=5;i++) {
           for (int j = 5; j >= i; j--) {
               System.out.print(" ");
          }
           for (int j = 1; j <= 2*i-1; j++) {
               System.out.print("$");
          }
           System.out.println();
      }
  }

 

posted @ 2021-05-23 23:41  放慢_脚步  阅读(131)  评论(0编辑  收藏  举报