• 双重循环及break,continue,return的运用


    双重循环的运用场景

    在控制台输出5行5列*

    *****
    *****
    *****
    *****
    *****
    
    • 1
    • 2
    • 3
    • 4
    • 5

    方式一:每行输出*****,输出5次

    System.out.println("*****");
    System.out.println("*****");
    System.out.println("*****");
    System.out.println("*****");
    System.out.println("*****");		
    
    • 1
    • 2
    • 3
    • 4
    • 5

    方式二:方式一可以通过循环来实现

    for(int i =1;i<=5;i++){
    			System.out.println("*****");
    		}
    
    • 1
    • 2
    • 3

    方式三:方式二中的{}里的代码表示在一行输出5个*,这个需求也可以通过循环来实现

    for(int j =1;j<=5;j++){
    				System.out.print("*");
    			}
    			System.out.println();
    		}
    
    	}
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 外层循环变量变化1次,内层循环变量变化1遍(内层循环是外层循环的循环操作,一定要等循环操作执行完之后,外层循环变量才进行迭代)
    • 外层循环变量可以控制行数,内层循环变量控制每一行的列数

    练习1:输出一下图片格式:
    在这里插入图片描述

    package cn.bdqn.demo01;
    
    public class Demo03 {
    
    	public static void main(String[] args) {
    		
    		//外层循环控制行数
    		for(int i =1;i<=7;i++){
    			//在输出每一行*之前,要输出空格“ ”,通过分析发现,每一行*前面的空格数量不一样的
    			for(int k =1;k<=7-i;k++){
    				System.out.print(" ");
    			}
    			
    			
    			//输出*,每一行的*数量一样,都是7个
    			//内层循环控制每一行*的数量
    			for(int j =1;j<=6;j++){
    				System.out.print("*");
    			}
    			//输出完每一行*后要换行
    			System.out.println();
    		}
    
    	}
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    练习2:使用双重for循环输出九九乘法表,外层循环控制行数,九九乘法表,一共有9行

    package cn.bdqn.demo02;
    
    public class Demo01 {
    
    	public static void main(String[] args) {
    		//使用双重for循环输出九九乘法表
    		//外层循环控制行数,九九乘法表,一共有9行
    		for(int i =1;i<=9;i++){
    			//内层循环控制每一行的列数,九九乘法表每一行的列数与行号相同
    			for(int j =1;j<=i;j++){
    				System.out.print(j+"×"+i+"="+(i*j)+"\t");
    			}
    			//输出每一行的乘式后换行
    			System.out.println();
    		}
    			
    	}
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    在这里插入图片描述

    break

    作用场景:switch选择结构和循环结构中

    • 作用:结束整个switch选择结构或循环结构
    • 注意:break在循环结构中使用,一般结合if判断语句一起使用,因为结束循环需要一个原因
    • break不能被使用在循环或者switch结构外

    练习3:循环录入某学生5门课的成绩并计算平均分,如果某分数录入为负,停止录入并提示录入错误

    package cn.bdqn.demo03;
    
    import java.util.Scanner;
    
    public class Demo02 {
    
    	public static void main(String[] args) {
    		//循环录入某学生5门课的成绩并计算平均分,如果某分数录入为负,停止录入并提示录入错误
    
    		Scanner sc = new Scanner(System.in);
    		System.out.println("请输入学生姓名:");
    		String name = sc.next();
    		
    		//定义一个变量用来累加成绩
    		double sum = 0;
    		
    		for(int i =0;i<5;i++){
    			System.out.println("请输入第"+(i+1)+"门课的成绩:");
    			double score =sc.nextDouble();
    			if(score<0){
    				System.out.println("成绩不能为负数,结束录入");
    				break;
    			}else{
    				sum+=score;
    				//如果能正确累加到第五门课的成绩,就计算平均分并输出平均分
    				if(i==4){
    					double avg =sum/5;
    					System.out.println(name+"的5门课平均分为:"+avg);
    				}
    			}
    		}
    		
    		
    		
    	}
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38

    练习4:1~10之间的整数相加,得到累加值大于20的当前数

    package cn.bdqn.demo03;
    
    public class Demo03 {
    
    	public static void main(String[] args) {
    		//1~10之间的整数相加,得到累加值大于20的当前数
    		
    		//定义一个变量用来存放累加的数字之和
    		int sum = 0;
    		for(int i =1;i<=10;i++){
    			sum+=i;
    			//每循环累加1次,就需要判断一下sum是否大于20,如果大于20,就结束累加并输出当前这个数
    			if(sum>20){
    				System.out.println("sum="+sum);
    				System.out.println(i);
    				break;
    			}
    		}
    
    
    	}
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    continue

    作用场景:continue只能作用在循环结构中

    • 作用:遇到continue,结束当前(本次)循环continue后续操作,继续执行下一次循环操作
    • 注意:continue一般结合if选择结构一起使用,因为结束本次循环continue后续操作要有一个原因
    • continue不能被使用在循环外

    练习5:使用continue实现输出1-100之前所有偶数

    package cn.bdqn.demo04;
    
    public class Demo02 {
    
    	public static void main(String[] args) {
    		//使用continue实现输出1-100之前所有偶数
    		
    		for(int i =1;i<=100;i++){
    			//在输出之前需要进行判断
    			if(i%2!=0){//i%2!=0,说明这个数是奇数,就结束本次循环continue后面的输出操作,从而实现奇数不输出
    				continue;
    			}
    			System.out.println(i);
    		}
    
    	}
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    练习6:使用continue实现求1-100之间所有偶数之和

    package cn.bdqn.demo04;
    
    public class Demo03 {
    
    	public static void main(String[] args) {
    		//使用continue实现求1-100之间所有偶数之和
    		
    		//定义一个变量用来存储累加数据之和
    		int sum =0;
    		
    		for(int i =1;i<=100;i++){
    			//累加之前,要进行判断,如果数是奇数,就不进行累加操作,继续执行下一次循环操作
    			if(i%2!=0){
    				continue;
    			}
    			
    			sum+=i;
    		}
    		
    		System.out.println("1-100之间所有偶数之和:"+sum);
    		
    	}
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    练习7:循环录入Java课的学生成绩,统计分数大于等于80分的学生比例

    package cn.bdqn.demo04;
    
    import java.util.Scanner;
    
    public class Demo04 {
    
    	public static void main(String[] args) {
    		//循环录入Java课的学生成绩,统计分数大于等于80分的学生比例
    
    		Scanner sc = new Scanner(System.in);
    		
    		System.out.println("请输入班级学生人数:");
    		
    		int num = sc.nextInt();
    		
    		//声明一个变量用来统计分数大于80分的人数
    		double count = 0;
    		
    		//获取学生的成绩
    		for(int i =1;i<=num;i++){
    			System.out.println("请输入第"+i+"个学生的成绩:");
    			double score =sc.nextDouble();
    			//判断学生成绩是否大于80分,如果大于80分,就统计到变量count中
    			if(score<80){
    				continue;
    			}
    			
    			count++;
    		}
    		
    		//输出分数大于80分的人数
    		System.out.println("分数大于80分的人数有:"+(int)count+"人");
    		
    		double result =count/num;
    		System.out.println("80分以上学生所占比例:"+result*100+"%");
    
    	}
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40

    break跳出指定循环

    在多重循环中使用break跳出指定循环,可以给循环加上标记

    package cn.bdqn.demo04;
    
    public class Demo05 {
    
    	public static void main(String[] args) {
    
    		// 在多重循环中使用break跳出指定循环,可以给循环加上标记
    		a: for (int i = 1; i <= 10; i++) {
    			System.out.print(i + "-");
    			b: for (int j = 10; j <= 100; j += 10) {
    				System.out.print(j + " ");
    				if (j == 30) {
    					break a;
    				}
    			}
    			System.out.println();
    		}
    
    		System.out.println("----------------");
    
    		a: for (int i = 1; i <= 10; i++) {
    			System.out.print(i + "-");
    			b: for (int j = 10; j <= 100; j += 10) {
    				System.out.print(j + " ");
    				if (j == 30) {
    					continue a;
    				}
    			}
    			System.out.println();
    		}
    
    	}
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    return

    • 作用场景:方法中
    • 作用:遇到return,结束方法,如果方法有返回值,通过return将值返回给方法的调用者
    //定义一个方法
    	public static String test(){
    		for(int i=1;i<=10;i++){
    			if(i==5){
    				return "方法执行完了" ;
    			}
    			System.out.println(i);
    		}
    		return null;
    	}
    	
    	
    
    	public static void main(String[] args) {
    		int num = 10;
    		System.out.println("abcdefg");
    		String result =test();
    		System.out.println(result);
    	}
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    练习8:输出以下图片样式:
    在这里插入图片描述

    package cn.bdqn.demo03;
    
    import java.util.Scanner;
    
    public class Subject03 {
    
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		System.out.println("您想要几行数字?");
    		int sum = sc.nextInt();
    		for(int i=1;i<=sum;i++){
    			for(int j=1;j<=sum-i;j++){
    				System.out.print(" ");
    			}
    			for(int k=1;k<=2*i-1;k++){
    				System.out.print(i);
    			}
    			System.out.println("");
    		}
    	}
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    练习9:从键盘输入一位整数,当输入17时,输出“星期一”“星期日”, 输入其他数字时,提示用户重新输入

    package cn.bdqn.demo03;
    
    import java.util.Scanner;
    
    public class Subject02 {
    
    	public static void main(String[] args) {
    		/*
    		 * 从键盘输入一位整数,当输入1~7时,输出“星期一”~“星期日”
    		 * 输入其他数字时,提示用户重新输入
    		 */
    		Scanner sc = new Scanner(System.in);
    		
    		int num;
    		do{
    			System.out.println("请输入1~7:");
    			num = sc.nextInt();
    			switch(num){
    			case 1:System.out.println("星期一");break;
    			case 2:System.out.println("星期二");break;
    			case 3:System.out.println("星期三");break;
    			case 4:System.out.println("星期四");break;
    			case 5:System.out.println("星期五");break;
    			case 6:System.out.println("星期六");break;
    			case 7:System.out.println("星期日");break;
    			default:System.out.print("输入错误!");
    			}
    		}while(num>=7||num<=1);
    		
    	}
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
  • 相关阅读:
    springboot项目中application.properties无法变成小树叶问题解决
    Java字符串String、StringBuffer、StringBuilder的异同
    【分布式系统】经典面试题总结-史上最全面试题思维导图总结(2022最新版)
    SpringBoot + MyBatis 结合 MVC框架设计 第2关:使用SpringBoot + MyBatis实现一个最简单的注册功能
    指令跳转:原来if...else就是goto
    java面试之恒生电子①
    西门子PLC1200与fanuc机器人进行profibus通讯
    基于百度云的 AI 接口调用
    小程序wx:if 和hidden的区别?
    页面转变为灰色,如此简单
  • 原文地址:https://blog.csdn.net/qq_45734913/article/details/126713061