While

package Scanner;

public class While {
   public static void main(String[] args) {
       int i =0;
       int sum = 0;
       while (i<=100){
           sum+=i;
           i++;
      }


       System.out.println(sum);

      }
  }

Do...While

package Scanner;

public class DoWhile {
   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(初始化;布尔表达式;更新){

    //代码语句

    }

    package Scanner;

    public class For {
       public static void main(String[] args) {
         
           for (int a=0;a<=100;a+=2){
               System.out.println(a);
          }
           /*
           关于for循环有以下几点说明:
               
               最先执行初始化步骤。可以声明一种类型,但可初始化一个或者多个循环控制变量,也可以是空语句。
               然后检测布尔表达式的值,如果为true,循环体被执行。如果为false,循环体结束,开始执行循环体后面的语句。
               执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)。
               再次检测布尔表达式,循环执行上面的过程。
            */
      }
    }

    练习1:计算0到100之间的奇数和偶数的和

    public class ForExercise1 {
       public static void main(String[] args) {
           int a = 0;
           int b = 0;
           int oddSum = 0;
           int evenSum = 0;
           for (a = 1; a <= 100; a += 2) {
               oddSum += a;
              // System.out.println(a);
          }
           System.out.println("0~100之间所有偶数的和为" + evenSum);
           for (b = 0; b <= 100; b += 2) {
               evenSum += b;
              // System.out.println(b);
          }
           System.out.println("0~100之间所有奇数的和为" + oddSum);
      }
    }

    练习2:用while或者for循环输出1-1000之间能被5整除的数,并且每行输出3个

    public class WhileExercise {
       public static void main(String[] args) {
           for (int i = 1; i <= 1000; i++) {
               if (i%5==0)
                   System.out.print(i+"\t");
               if (i%(5*3)==0){
                   System.out.println();
                  // System.out.println("\n")
              }
          }
      }
    }

    练习3:打印九九乘法表

    public class SystemNineNine {
       public static void main(String[] args) {
           for (int a = 1; a <= 9; a++) {
               for (int i = 1; i <= a; i++) {
                   System.out.print(a+"x"+i+"="+a*i+"\t");
          }System.out.print("\n");
          }


      }
    }
字符作用
\n 换行
\r 回车
\t 制表 (相当于tab)
\f 换页

 

增强for循环

  • java5引入的一种主要用于数组或者集合的增强型for循环

    for(声明语句 :表达式)

    {

    //代码句子

    }

     

  • 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型相匹配。其作用域限定在循环语句块

    其值与此时数组元素的值相等。

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

public class EnhanceForExercise {
   public static void main(String[] args) {
       int []number = {1,2,3,4,5};  //定义一个数组
       for (int i=0;i<5;i++){
           System.out.print(number[i]+"\t");  //输出数组里的第i个数,由于i循环五次所以把数组里的五个数全部输出
      }
       System.out.println("============================================");

       for (int a:number){  //增强型写法;
           System.out.println(a);
      }

  }
}

break continue

  • break在任何循环语句中的主体部分,均可用break控制循环的流程。break用于强行退出循环,

    不执行循环中剩余的语句。(break语句也可在switch语句中使用)

    import java.util.Scanner;

    public class BreakExercise {
       public static void main(String[] args) {
           Scanner scanner = new Scanner(System.in);
           String str = scanner.nextLine();
           switch (str){
               case "1":
                   System.out.println("1");
                   break;                             //break用于直接跳出循环
               case "2":
                   System.out.println("2");
                   break;
               case "3":
                   System.out.println("3");
                   break;
          }
           
      }
    }


    public class BreakExercise {
       public static void main(String[] args) {
           for (int i = 0;i<=10;i++) {
               if (i==5){
                   break;
              }
               System.out.println(i);
          }
      }
    }
  • continue语句用于循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,

    接着执行下一轮是否执行循环的判定。

    public class ContinueExercise {
       public static void main(String[] args) {
           for (int i = 0; i < 10; i++) {
               if (i%2==0){
                   continue;   //跳过这个条件回到上一层继续执行
              }
               System.out.println(i);
          }
      }
    }
  • 关于goto关键字

    • goto关键字很早就在程序设计语言中出现。尽管goto仍是java的一个保留字,但并未在语言中得到正式使用;Java没有goto。

      然而,在break和continue这两个关键字的身上,我们仍能看出goto的影子--->>带标签的break和continue。

    • “标签”是指后面跟一个冒号的标识符,例如:label:

    • 对java来说唯一用到标签的地方是循环语句之前。而在循环之前设置标签唯一的理由是:我们希望在其中嵌套另一个循环,

      由于break和continue关键字通常只中断当前循环,但若随同标签使用,它们就会中断到存在标签的地方。

 

 

三角

public class TriangleExercise {
   public static void main(String[] args) {
       for (int i = 1; i <= 5; i++) {
           for (int a = 5; a >= i; a--) {
               System.out.print(" ");
          }
           for (int a = 1; a <= i; a++) {
               System.out.print("*");
          }
           for (int a = 1;a<i;a++){
               System.out.print("*");
          }
           System.out.println();
      }
  }
}

 

posted on 2021-12-11 11:49    阅读(28)  评论(0编辑  收藏  举报