java训练营day03

嵌套for循环

定义:
存在至少2层for循环,根据外层的条件,判断里层能否执行
如果能执行,就把里层代码都循环完毕后,再继续判断是否执行外层循环的下一次循环

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

for (int j = 0; j < 3; j++) {
       System.out.println("外层第"+i+"次循环"+"内循环的值为"+j);                
}

}
外层第1次循环内循环的值为0
外层第1次循环内循环的值为1
外层第1次循环内循环的值为2

外层第2次循环内循环的值为0
外层第2次循环内循环的值为1
外层第2次循环内循环的值为2

外层第3次循环内循环的值为0
外层第3次循环内循环的值为1
外层第3次循环内循环的值为2

image.png

利用嵌套for循环打印 5*5正方形

    public static void main(String[] args) {
//        利用嵌套for循环打印   5*5正方形
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j < 5; j++) {
                System.out.print("*");
            }
            System.out.println();
        }

    }

利用嵌套for循环打印 左直角三角形

        打印左直角 三角形
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j <= i; j++) {
                System.out.print("*");
            }
            System.out.println();
        }

利用嵌套for循环打印 倒左直角三角形

        打印 到左直角三角形
        for (int i = 0; i < 5; i++) {
            for (int j = 4; j >= i; j--) {
                System.out.print("*");
            }
            System.out.println();
        }

利用嵌套for循环打印 99乘法表

        for (int i = 1; i < 10; i++) {
            for (int j = 1; j <= i ; j++) {
                System.out.print(j+"*"+i+"="+(i*j)+"\t");
            }
            System.out.println("");
        }

break与continue

public class Test15 {
    public static void main(String[] args) {
//        for (int i = 0; i < 3; i++) {
//            for (int j = 0; j < 3; j++) {
//                System.out.println("外层第"+i+"次循环"+"j的值为"+j);
//            break;
//            }
//        }
        
        
        for (int i = 0; i < 10; i++) {
            if (i==5) {
//                break;
                continue;
            }
            System.out.println(i);
        }
        
        
    }
}

猜数字;

提示并接受用户输入100次数字,

如果不是66,则继续输入

找到66就结束

提示:

需要用到break与continue

需要用带if 判断

== 和 !=

public static void main(String[] args) {
        for (int i = 0; i < 100; i++) {
            int a=new Scanner(System.in).nextInt();        
            if(a==66) {
                System.out.println("逮到了");
                break;
            }else if(a != 66){
                System.out.println("请继续");
                continue;
            }
            
        }
    }

while循环

while( true ){

代码

}

image.png
**特点:先判断后执行

打印0-10

打印10-0

打印8,88,888,8888

    public static void main(String[] args) {
        int a=8;
        while (a <= 10000) {
            System.out.println(a);
            a=a*10+8;
        }
    }

do while

  do{
     代码
   }whlie(true);

image.png
特点:保证代码至少执行一次

采用while 循环的方式 写出猜数字的游戏 代码
要求客户输入的数字可以提示 大了 小了 正确

public static void main(String[] args) {
        while (true) {
            int a=new Scanner(System.in).nextInt();
            
            if (a==66) {
                System.out.println("正确");
                break;
            }else if (a<66) {
                System.out.println("小了");
            }else if (a>66) {
                System.out.println("大了");    
            }
        }
    }

三种循环的区别

  • 三种循环都可以互相代替
  • for:知道循环次数
  • while/do while:当循环次数不确定时
  • while:先判断,不符合规则,不执行代码
  • do while:代码最少被执行一次,再去判断,符合规则,再次执行代码

你可能感兴趣的:(java)