Java程序控制结构(3)

80 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第9天,点击查看活动详情

多重循环(循环嵌套)

(1)介绍

1)将一个循环放在另一个循环体内,就形成了嵌套循环。

2)实际上,嵌套循环就是把内层循环当做外层循环的的循环体。也就是说,只有内层循环的循环条件为false时,外层

循环的当次循环才会结束。

3)如果外层循环执行m次,内层循环执行n次,则内层循环总共会执行m*n次

(2)演示(九九乘法表)

利用嵌套循环打印九九乘法表。

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

输出结果为:

图片.png

跳转控制语句 break

(1)基本语句

{

    ……

    break;

}

(2)细节

1)break 语句用于终止某个语句块的执行,一般使用在 switch 或者循环中。

2)break 语句出现在多层嵌套的语句块中时,可以通过 标签 指明要终止的是哪一层语句快。

(3)标签的使用

1)基本语法

label1: {

    ……

    label2: {

            ……

            break;

    }

}

2)标签细节

1)break语句可以指定退出哪层标签

2)label1 和 label2 是标签名,可以自定义

3)break后指定到哪个lable标签就退出到哪里

4)如果没有指定break,默认退出最近的循环体

(4)练习

1-100以内的数求和,求出当和第一次大于20的当前i的值。

public class BreakExercise {
	public static void main(String[] args) {
 
		int sum = 0;
		int i = 1; 
		for(; i <= 100; i++) {
			sum += i;
			if(sum > 20) {
				System.out.println("和已经大于20");
				break;
			}
		}
		System.out.println("i=" + i);
	}
}

输出结果为:

图片.png

跳转控制语句continue

(1)基本语法

{

    ……

    continue;

}

(2)细节

1)continue语句用于结束本次循环,继续执行下一次循环

2)continue语句句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环,和break语句用法

相同。

跳转控制语句return

return 使用在方法,表示跳出所在的方法。

四、练习

1)输入一个实数,判断属于哪个范围(大于0,小于0,等于0)

import java.util.Scanner;
public class Homework02 {
	public static void main(String[] args) {
 
		Scanner myScanner = new Scanner(System.in);
		System.out.println("请输入一个整数:");
		int a = myScanner.nextInt();
		if(a > 0) {
			System.out.println(a + "大于0");
		} else if(a < 0) {
			System.out.println(a + "小于0");
		} else {
			System.out.println(a + "等于0");
		}
	}
}

2)输入一个数,判断一个数是否为闰年

(能被四整除,但不能被一百整除或能被四百整除的年份为闰年)

import java.util.Scanner;
public class Homework03 {
	public static void main(String[] args) {
 
		Scanner myScanner = new Scanner(System.in);
		System.out.println("请输入一个年份:");
		int year = myScanner.nextInt();
		if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
			System.out.println("该年为闰年");
		} else {
			System.out.println("该年不是闰年");
		}
	}
}

3)输入一个数,判断是否是水仙花数

(水仙花数是指一个3位数,其各个位上的数字立方和等于其本身)

import java.util.Scanner;
public class Homework04 {
	public static void main(String[] args) {
 
		Scanner myScanner = new Scanner(System.in);
		System.out.println("请输入一个三位数:");
		int number = myScanner.nextInt();
		int a = number % 10;
		int b = number / 10 % 10;
		int c = number /100;
		if(number == a * a * a + b * b * b + c * c * c) {
			System.out.println("该数为水仙花数");
		} else {
			System.out.println("该数不是水仙花数");
		}
 
	}
}