java三大基本循环结构

java三大基本循环结构

1 嵌套for循环
1.1 概述
根据外层的条件,判断里层能否执行,如果能执行,就把里层代码都循环完毕后,再继续执行外层,继续判断。。

1.2 形式

for(…){

   for(…){

}

}

1.3 入门案例

public class T {

 

       public static void main(String[] args) {

//           f1();

              f2();

       }

       //总结1:当i=1时,j取到了所有满足条件的数据,1,2,3,4,5。

       //也就是说外循环执行1次,内循环执行多次

       private static void f1() {

              for(int i=1;i<=3;i++){//外循环

                     System.out.println("i="+i);//1,2,3

                     for(int j=1;j<=5;j++){//内循环

                            System.out.println("j="+j);//1,2,3,4,5

                     }

              }

       }

//总结2:外循环控制行,内循环控制列

 
      private static void f2() {

              for(int i=1;i<=3;i++){

                     for(int j=1;j<=5;j++){

                            System.out.print("*");

                     }

                     System.out.println();

              }

       }

}

1.4 demo:打印正方形

//正方形

for(int i=1;i<5;i++){

       for(int j=1;j<5;j++){

              System.out.print("*");

       }

       System.out.println();

}     

1.5 demo2:打印左直角三角形

在这里插入图片描述

//正直角三角形

private static void f4() {

       for (int i = 0; i < 5; i++) {//外循环,控制行,是一定的

              for (int j = 0; j <= i; j++) {//内循环,列是不固定的,是递增的

                     System.out.print("*");//保证第一行打印出来一个*,注意条件
              }
              System.out.println();

       }

}

1.6 demo3:打印99乘法表

1*1=1

21=2 22=4

31=3 32=6 3*3=9

41=4 42=8 43=12 44=16

51=5 52=10 53=15 54=20 5*5=25

61=6 62=12 63=18 64=24 65=30 66=36

71=7 72=14 73=21 74=28 75=35 76=42 7*7=49

81=8 82=16 83=24 84=32 85=40 86=48 87=56 88=64

91=9 92=18 93=27 94=36 95=45 96=54 97=63 98=72 9*9=81

//99乘法表

private static void f4() {

       for (int i = 1; i < 9; i++) {//外循环,控制行,是一定的

              for (int j = 1; j <= i; j++) {//内循环,列是不固定的,是递增的

                     System.out.print(i+"*"+j+"="+i*j+" ");//保证第一行打印出来一个*,注意条件

              }

              System.out.println();

       }

}

2 break和continue
用来终止循环,可以用两种方式

2.1 形式
break: 中断当前循环,简单粗暴

for(){

   代码1

if(条件){

代码3…

break;//如果成立,直接跳出这个for循环

}

代码2…

}

continue:跳出本次循环,进入下一轮

for(){

   代码1

if(条件){

代码3…

continue;//如果成立,跳出本次for循环,进入下一轮

}

代码2…

}

2.2 demo1:找数字88
接收用户输入的100次数字,如果不是88继续输入,找到88就返回

public class Test4_breakcontinue {

 

       public static void main(String[] args) {

              f2();

       }

 

       //找88

       private static void f2() {

              for(int i=1;i<=100;i++){

                     //一直输入…

                     int j = new Scanner(System.in).nextInt();

                     if(j!=88){

                            continue;//继续输入

                     }

                     if(j==88){

                            System.out.println("找到了88...");

                            break;

                     }

              }

       }

}

3 循环结构2:while
先判断,再执行

3.1 格式

while(执行条件){

   代码…

}

3.2 demo1:猜数字
产生一个随机数,和用户一直在输入的数字比较。

public class Test5_猜数字 {

 

       public static void main(String[] args) {

              System.out.println("猜1~1000的随机数");

              //系统产生随机数,从0开始,要从1开始就加1

              int i = new Random().nextInt(1000)+1;

              System.out.println(i);

             

              while(true){

                     //接收用户输入的值

                     int sc = new Scanner(System.in).nextInt();

                     //判断

                     if(sc>i){

                            System.out.println("大");

                     }else if(sc<i){

                            System.out.println("小");

                     }else{

                            System.out.println("right");

                            break;

                     }

              }

             

       }

      

}

4 循环结构3:do-while
先执行,再判断

4.1 格式

do{

   代码…

}while(执行条件);

4.1 demo1:猜数字
产生一个随机数,和用户一直在输入的数字比较。

public class Test5_猜数字 {

 

       public static void main(String[] args) {

              System.out.println("猜1~1000的随机数");

              //系统产生随机数,从0开始,要从1开始就加1

              int i = new Random().nextInt(1000)+1;

              System.out.println(i);

             

              while(true){

                     //接收用户输入的值

                     int sc = new Scanner(System.in).nextInt();

                     //判断

                     if(sc>i){

                            System.out.println("大");

                     }else if(sc<i){

                            System.out.println("小");

                     }else{

                            System.out.println("right");

                            break;

                     }

              }
             
       }

      

}

5 三种循环的区别
三种循环都可以互相代替

1、 for:知道循环次数

2、 while/do while:当循环次数不确定时

3、 while:先判断,不符合规则,不执行代码

4、 do while:代码最少被执行一次,再去判断,符合规则,再次执行代码

5.1 打印右直角三角形

在这里插入图片描述

public class a {

       public static void main(String[] args) {

              //输出5行

              for(int i=1;i<=5;i++){

                     //空格三角

                     for(int x=5;x>i;x--){

                            System.out.print(" ");

                     }

                     //*号三角

                     for(int j=1;j<=i;j++){

                            System.out.print("*");

                     }

                     System.out.println();

              }

       }

}

4.6.3 打印全三角形
在这里插入图片描述

public class a {

       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 k=1;k<=i*2-1;k++){

                            System.out.print("*");

                     }

                    
                     System.out.println();

              }

       }

}
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值