目 录CONTENT

文章目录

从0开始学Java——流程控制(4)

Eric
2022-01-23 / 0 评论 / 0 点赞 / 164 阅读 / 5,490 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2023-12-12,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

1 概述

  • 不论哪种编程语言,都会提供三种基本的流程控制结构:顺序结构、分支结构和循环结构。其中,顺序结构就是程序从上到下逐行的执行,中间没有任何判断和跳转;分支结构用于实现根据条件来选择性的执行某段代码;循环结构用于实现根据循环条件重复执行某段代码。

2 顺序结构

2.1 概述

  • 任何编程语言中最常见的程序结构就是顺序结构。顺序结构就是程序从上向下逐行的执行,中间没有任何判断和跳转。如果main方法的多行代码之间没有任何任何分支结构和循环结构,则程序总是从上向下依次执行,排在前面的代码先执行,排在后面的代码后执行。
public static void main(String[] args){
    //顺序执行,根据编写的顺序,从上到下运行
    System.out.println(1);
    System.out.println(2);
    System.out.println(3);
}

2.2 键盘输入

  • 步骤:

    • ①准备Scanner类型的变量。
    • ②提示输入xxx。
    • ③接收输入内容。
  • 示例:

import java.util.Scanner;

/**
 * 键盘输入
 *
 * @author open1024
 * @version 1.0
 * @since 2021-08-07 06:49
 */
public class ScannerDemo {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入姓名:");
        String name = input.next();
        System.out.println("name = " + name);

        System.out.println("------------------------");

        System.out.print("请输入年龄:");
        int age = input.nextInt();
        System.out.println("age = " + age);

        System.out.println("------------------------");

        System.out.print("请输入体重:");
        double weight = input.nextDouble();
        System.out.println("weight = " + weight);

        System.out.println("------------------------");

        System.out.print("请输入性别(男或女):");
        String gender = input.next();
        System.out.println("gender = " + gender);

        System.out.println("------------------------");

        System.out.print("是否已婚(true或false):");
        boolean isMarry = input.nextBoolean();
        System.out.println("isMarry = " + isMarry);

    }
}

next()nextLine()的区别:

  • next():遇到空格等空白符,就认为输入结束。

  • nextLine():遇到回车换行,则认为输入结束。

3 分支结构

3.1 概述

  • 分支结构:根据条件,选择性地执行某段代码。

3.2 If语句

  • 语法:
if(条件表达式){
    // 执行语句
}
  • 流程图:

img

  • 示例:
import java.util.Scanner;

/**
 * @author open1024
 * @version 1.0
 * @since 2021-08-07 07:14
 */
public class IfDemo {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入i:");
        int i = input.nextInt();
        System.out.print("请输入j:");
        int j = input.nextInt();

        if (i > j) {
            System.out.println(i + "比" + j + "大");
        }

        System.out.println("结束");
    }
}

3.3 if…else语句

  • 语法:
if(条件表达式){
    // 执行语句1
}else{
    // 执行语句2
}
  • 流程图:

img

  • 示例:
import java.util.Scanner;

/**
 * @author open1024
 * @version 1.0
 * @since 2021-08-07 07:23
 */
public class IfElseDemo2 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入i:");
        int i = input.nextInt();
        System.out.print("请输入j:");
        int j = input.nextInt();

        if (i > j) {
            System.out.println(i + "比" + j + "大");
        } else {
            System.out.println(i + "小于或等于" + j);
        }

        System.out.println("结束");

    }
}

3.4 if…else if…else语句

  • 语法:
if(条件表达式1){
    // 执行语句1
}else if(条件表达式2){
    // 执行语句2
}else{
    // 执行语句3
}
  • 流程图:

img

  • 示例:
import java.util.Scanner;

/**
 * @author open1024
 * @version 1.0
 * @since 2021-08-07 07:29
 */
public class IfElseIfDemo {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入i:");
        int i = input.nextInt();
        System.out.print("请输入j:");
        int j = input.nextInt();

        if (i > j) {
            System.out.println(i + "比" + j + "大");
        } else if (i < j) {
            System.out.println(i + "比" + j + "小");
        } else {
            System.out.println(i + "和" + j + "相等");
        }

        System.out.println("结束");
    }
}

3.5 switch…case语句

  • 语法:
switch(表达式){
    case 值1:
        // 执行语句
        break;
    case 值2:
        // 执行语句
        break; 
    default:
        // 执行语句
        break;
}

注意:

  • 表达式的可选值类型:byte、short、int、char、枚举(JDK1.5)、String(JDK1.7)。

  • case子句:

    • case子句中指定的值必须是常量,不能是变量或不确定的表达式的值。
    • 同一个switch语句中所有case子句中的常量值必须互不相同。
  • default子句:

    • default子句是可选的。
    • default子句的位置是灵活的。
  • 流程图:

img

  • 示例:
import java.util.Scanner;

/**
 * @author open1024
 * @version 1.0
 * @since 2021-08-07 07:47
 */
public class SwitchDemo {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入你喜欢的季节(spring、summer、autumn、winter):");
        String season = input.nextLine();
        switch (season) {
            case "spring":
                System.out.println("我喜欢春天");
                break;
            case "summer":
                System.out.println("我喜欢夏天");
                break;
            case "autumn":
                System.out.println("我喜欢秋天");
                break;
            case "winter":
                System.out.println("我喜欢冬天");
                break;
            default:
                System.out.println("我一个季节都不喜欢");
                break;
        }
    }
}

3.6 练习

3.6.1 练习1

  • 岳小鹏参加Java考试,他和父亲岳不群达成承诺:
成绩奖励
100BMW
(80,99]iphone xs max
[60,80]ipad
其它
  • 请从键盘输入岳小鹏的期末成绩,并加以判断。

  • 示例:

import java.util.Scanner;

/**
 * @author open1024
 * @version 1.0
 * @since 2021-08-07 14:25
 */
public class BranchStructureExercise1 {
    public static void main(String[] args) {
        // ① 用户输入成绩
        Scanner input = new Scanner(System.in);
        System.out.print("请输入岳小鹏的期末成绩:");
        double score = input.nextDouble();

        // ② 按照100、(80,99]、[60,80]的顺序检查输入的成绩数据,在各个分支内打印对应的奖励
        if (score == 100) {
            System.out.println("BMW");
        } else if (score > 80 && score <= 99) {
            System.out.println("iphone xs max");
        } else if (score >= 60 && score <= 80) {
            System.out.println("ipad");
        } else {
            System.out.println("其他");
        }

    }
}

3.6.2 练习2

  • 由键盘输入三个整数分别存入变量num1、num2、num3,对它们进行排序,并且从小到大输出。

  • 示例:

import java.util.Scanner;

/**
 * @author open1024
 * @version 1.0
 * @since 2021-08-07 14:47
 */
public class BranchStructureExercise2 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入num1的值:");
        int num1 = input.nextInt();
        System.out.print("请输入num2的值:");
        int num2 = input.nextInt();
        System.out.print("请输入num3的值:");
        int num3 = input.nextInt();

        int temp = 0;

        if (num1 >= num2) {
            // 交换 num1 和 num2的值
            temp = num1;
            num1 = num2;
            num2 = temp;
        }

        if (num2 >= num3) {
            // 交换 num2 和 num3的值,这样num3的值最大
            temp = num2;
            num2 = num3;
            num3 = temp;

            // 如果 num2 和 num3进行了交换,就再比较一下num1和num2(新的)
            if (num1 >= num2) {
                // 比较 num1 和 num2的值,这样就能决定num1和num2谁大
                temp = num2;
                num2 = num1;
                num1 = temp;
            }
        }
        
        System.out.println(num1 + "<" + num2 + "<" + num3);
    }

}

3.6.3 练习3

  • 下面的代码,如果有输出,指出输出的结果。
/**
 * @author open1024
 * @version 1.0
 * @since 2021-08-07 15:40
 */
public class BranchStructureExercise3 {
    public static void main(String[] args) {
        int x = 4;
        int y = 1;
        if (x > 2) {
            if (y > 2) 
                System.out.println(x + y);
            System.out.println("open1024");
        } else 
            System.out.println("x is " + x);
    }
}

注意:实际开发中,强烈建议不要这么写。

  • 输出结果:
open1024

3.6.4 练习4

  • 编写程序,声明2个int型变量并赋值。判断两数之和,如果大于等于50,打印“hello world!”。

  • 示例:

/**
 * @author open1024
 * @version 1.0
 * @since 2021-08-07 19:51
 */
public class BranchStructureExercise4 {
    public static void main(String[] args) {
        int i = 20;
        int j = 30;

        if ((i + j) >= 50) {
            System.out.println("Hello World!");
        }
    }
}

3.6.5 练习5

  • 编写程序,声明2个double型变量并赋值。判断第一个数大于10.0,且第2个数小于20.0,打印两数之和。否则,打印两数的乘积。

  • 示例:

/**
 * @author open1024
 * @version 1.0
 * @since 2021-08-07 19:55
 */
public class BranchStructureExercise5 {
    public static void main(String[] args) {
        double a = 11.5;
        double b = 19.8;

        if (a >= 10.0 && b < 20.0) {
            System.out.println(a + b);
        } else {
            System.out.println(a * b);
        }

    }
}

3.6.6 练习6

  • 我家的狗5岁了,5岁的狗相当于人类多大呢?其实,狗的前两年每一年相当于人类的10.5岁,之后每增加一年就增加四岁。那么5岁的狗相当于人类多少年龄呢?应该是:10.5 + 10.5 + 4 + 4 + 4 = 33岁。

  • 编写一个程序,获取用户输入的狗的年龄,通过程序显示其相当于人类的年龄。如果用户输入负数,请显示一个提示信息。

  • 示例:

import java.util.Scanner;

/**
 * @author open1024
 * @version 1.0
 * @since 2021-08-07 20:03
 */
public class BranchStructureExercise6 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入狗的年龄:");
        int age = input.nextInt();

        if (age <= 0) {
            System.out.println("年龄不能为负数或0");
        } else if (age <= 2) {
            System.out.println("狗的年龄相当于:" + age * 10.5);
        } else {
            // 前两年
            double towYearAge = 10.5 * 2;
            // 比2大的
            double moreYearAge = (age - 2) * 4;
            // 总的年龄
            double totalAge = towYearAge + moreYearAge;
            System.out.println("狗的年龄相当于:" + totalAge);
        }
    }
}

3.6.7 练习7

  • 假设你想开发一个玩彩票的游戏,程序随机地产生一个两位数的彩票中奖号码,提示用户输入一个两位数,然后按照下面的规则判定用户是否能赢。

  • ① 如果用户输入的数匹配彩票的实际顺序,奖金10 000美元。

  • ② 如果用户输入的所有数字匹配彩票的所有数字,但顺序不一致,奖金 3 000美元。

  • ③ 如果用户输入的一个数字仅满足顺序情况下匹配彩票的一个数字,奖金1 000美元。

  • ④ 如果用户输入的一个数字仅满足非顺序情况下匹配彩票的一个数字,奖金500美元。

  • ⑤ 如果用户输入的数字没有匹配任何一个数字,则彩票作废。

  • 示例:

import java.util.Random;
import java.util.Scanner;

/**
 * @author open1024
 * @version 1.0
 * @since 2021-08-07 20:11
 */
public class BranchStructureExercise7 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入两位数(01~99):");
        int number = input.nextInt();

        Random random = new Random();
        int prizeNumber = random.nextInt(100);

        int gePrize = prizeNumber % 10;
        int shiPrize = prizeNumber / 10;

        if (number <= 0 || number > 100) {
            System.out.println("用户输入号码不合法");
        } else {
            System.out.println("用户输入号码:" + number);
            System.out.println("彩票中奖号码:" + prizeNumber);

            int ge = number % 10;
            int shi = number / 10;

            if (number == prizeNumber) {
                System.out.println("奖金10 000美元");
            } else if (gePrize == shi && shiPrize == ge) {
                System.out.println("奖金 3 000美元");
            } else if (gePrize == ge || shiPrize == shi) {
                System.out.println("奖金1 000美元");
            } else if (gePrize == shi || shiPrize == ge) {
                System.out.println("奖金500美元");
            } else {
                System.out.println("没有中奖");
            }
        }
    }
}

4 循环结构

4.1 概述

  • 循环结构:在某些条件满足的情况下,反复执行特定代码的功能。

4.2 for循环

  • 语法:
for(初始化条件①;循环条件语句②;迭代语句④){
    循环体语句③
}
for(;;){
    循环体语句块;//如果循环体中没有跳出循环体的语句,那么就是死循环
}

注意:

  • for(;;){}中的两个;是不能多也不能少的。

  • 循环条件必须是boolean类型。

  • 如果循环条件语句②省略的话,就默认为循环条件成立。

  • 执行流程:

    • 第一步:执行初始化语句①,完成循环变量的初始化;
    • 第二步:执行循环条件语句②,看循环条件语句的值是true,还是false;
      • 如果是true,执行第三步;
      • 如果是false,循环语句中止,循环不再执行。
    • 第三步:执行循环体语句③;
    • 第四步:执行迭代语句④,针对循环变量重新赋值;
    • 第五步:根据循环变量的新值,重新从第二步开始再执行一遍;
  • 示例:

/**
 * 打印10次"Hello"
 *
 * @author open1024
 * @version 1.0
 * @since 2021-08-08 08:08
 */
public class ForDemo1 {
    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            System.out.println("Hello");
        }
    }
}
  • 示例:
/**
 * 从1累加到5
 *
 * @author open1024
 * @version 1.0
 * @since 2021-08-08 08:09
 */
public class ForDemo2 {
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 1; i <= 5; i++) {
            sum += i;
        }
        System.out.println("sum = " + sum);
    }
}
  • 示例:
/**
 * 1~100的偶数和
 *
 * @author open1024
 * @version 1.0
 * @since 2021-08-08 09:11
 */
public class ForDemo3 {
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 0; i < 100; i++) {
            if (i % 2 == 0) {
                sum += i;
            }
        }
        System.out.println("sum = " + sum);
    }
}
  • 示例:
/**
 * 编写程序从1循环到150,并在每行打印一个值,另外在每个3的倍数行上打印出“foo”,在每个5的倍数行上打印“biz”,在每个7的倍数行上打印输出“baz”。
 *
 * @author open1024
 * @version 1.0
 * @since 2021-08-08 15:04
 */
public class ForDemo4 {
    public static void main(String[] args) {

        for (int i = 1; i <= 150; i++) {
            System.out.print(i + "\t");
            if (i % 3 == 0) {
                System.out.print("foo" + "\t");
            }
            if (i % 5 == 0) {
                System.out.print("biz" + "\t");
            }
            if (i % 7 == 0) {
                System.out.print("baz" + "\t");
            }
            System.out.println();
        }
    }
}
  • 示例:
/**
 * 输出所有的水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。
 * <p>
 * 例如: 153 = 111 + 333 + 555
 *
 * @author open1024
 * @version 1.0
 * @since 2021-08-08 15:14
 */
public class ForDemo5 {
    public static void main(String[] args) {
        for (int i = 100; i <= 999; i++) {
            int ge = i % 10;
            int shi = i / 10 % 10;
            int bai = i / 100;

            if (i == Math.pow(ge, 3) + Math.pow(shi, 3) + Math.pow(bai, 3)) {
                System.out.println("水仙花数 = " + i);
            }
        }
    }
}

4.3 while循环

  • 语法:
初始化语句①;
while (循环条件语句②) {
    循环体语句③;
    迭代语句④;
}
  • 执行流程:

    • 第一步:执行初始化语句①,完成循环变量的初始化;
    • 第二步:执行循环条件语句②,看循环条件语句的值是true,还是false;
      • 如果是true,执行第三步;
      • 如果是false,循环语句中止,循环不再执行;
    • 第三步:执行循环体语句③;
    • 第四步:执行迭代语句④,针对循环变量重新赋值;
    • 第五步:根据循环变量的新值,重新从第二步开始再执行一遍;

注意:while(循环条件)中循环条件必须是boolean类型。

  • 示例:
/**
 * 打印1~10
 *
 * @author open1024
 * @version 1.0
 * @since 2021-08-08 16:02
 */
public class WhileDemo {
    public static void main(String[] args) {
        int i = 1;
        while (i <= 10) {
            System.out.println(i);
            i++;
        }
    }
}
  • 示例:
/**
 * 世界最高山峰是珠穆朗玛峰,它的高度是8844.43米,假如我有一张足够大的纸,它的厚度是0.1毫米。
 * 请问,我折叠多少次,可以折成珠穆朗玛峰的高度?
 *
 * @author open1024
 * @version 1.0
 * @since 2021-08-08 16:07
 */
public class WhileDemo2 {
    public static void main(String[] args) {
        // 统一计量单位
        double height = 88444300;
        double paper = 1.0;

        // 折叠次数
        int count = 0;

        // 折纸的高度,初始化时为纸张没有折叠的高度
        double paperHeight = paper;

        while (paperHeight <= height) {
            // 每折叠一次,厚度翻倍
            paperHeight *= 2;
            
            // 折叠次数自增
            count++;
        }
        System.out.println("最终纸的厚度 = " + paperHeight);
        System.out.println("最终折叠的次数 = " + count);

    }
}
  • 示例:
import java.util.Scanner;

/**
 * 从键盘读入个数不确定的整数,并判断读入的奇数和偶数的个数,输入为0时结束程序。
 *
 * @author open1024
 * @version 1.0
 * @since 2021-08-08 16:19
 */
public class WhileDemo3 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入整数:");
        int number = input.nextInt();

        int oddCount = 0;
        int evenCount = 0;

        while (number != 0) {

            if (number % 2 == 0) {
                evenCount++;
            } else {
                oddCount++;
            }

            System.out.print("请输入整数:");
            number = input.nextInt();
        }

        System.out.println("奇数的个数 = " + oddCount);
        System.out.println("偶数的个数 = " + evenCount);
    }
}

4.4 do…while循环

  • 语法:
初始化语句①
do {
    循环体语句②;
    迭代语句③;
} while (循环条件语句④);
  • 执行流程:

    • 第一步:执行初始化语句①,完成循环变量的初始化;
    • 第二步:执行循环体语句②;
    • 第三步:执行迭代语句③,针对循环变量重新赋值;
    • 第四步:执行循环条件语句④,看循环条件语句的值是true,还是false;
      • 如果是true,根据循环变量的新值,重新从第二步开始再执行一遍;
      • 如果是false,循环语句中止,循环不再执行;
  • 示例:

/**
 * @author open1024
 * @version 1.0
 * @since 2021-08-08 20:32
 */
public class DoWhileTest {
    public static void main(String[] args) {
        int sum = 0;
        int i = 1;
        do {
            sum += i;
            i++;
        } while (i <= 100);

        System.out.println("sum = " + sum);
    }
}

4.5 循环语句的区别

  • 从循环次数角度分析:

    • do...while循环至少执行一次循环体语句。
    • for和while循环先循环条件语句是否成立,然后决定是否执行循环体,至少执行零次循环体语句。
  • 从循环变量的生命周期角度分析:

    • for循环的循环变量在for()中声明的,在循环语句结束后,不可以被访问。
    • while和do...while循环的循环变量因为在外面声明的,所以while和do...while结束后可以被继续使用的。
  • 如何选择:

    • 遍历有明显的循环次数(范围)的需求,选择for循环。
    • 遍历没有明显的循环次数(范围)的需求,循环while循环。
    • 如果循环体语句块至少执行一次,可以考虑使用do...while循环。
    • 本质上:三种循环之间是可以互相转换的,都能实现循环的功能。
  • 三种循环结构都具有四要素:

    • ①循环变量的初始化表达式。
    • ②循环条件。
    • ③循环变量的修改的迭代表达式。
    • ④循环体语句块。

4.6 嵌套循环(多重循环)

  • 将一个循环放在另一个循环体内,就形成了多重循环。其中,for、while、do…while均可以作为外层循环或内层循环。

  • 实际上,嵌套循环就是将内层循环当成外层循环的循环体。当只有内层循环的循环条件为false,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次循环。

  • 假设外层循环次数为m次,内层循环次数为n次,则内层循环体实际上需要执行m*n次。

  • 示例:

/**
 * 九九乘法表
 *
 * @author open1024
 * @version 1.0
 * @since 2021-08-08 20:43
 */
public class ForForDemo {
    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 + "=" + i * j + "\t");
            }
            System.out.println();
        }
    }
}

4.7 控制语句

4.7.1 break

  • 使用场景:

    • ①在选择结构switch语句中。
    • ②在循环语句中。
  • 示例:

/**
 * @author open1024
 * @version 1.0
 * @since 2021-08-08 21:14
 */
public class BreakDemo {
    public static void main(String[] args) {
        for (int i = 1; i <= 10; i++) {
            if (i == 5) {
                // 将本层的循环结束
                break;
            }
            System.out.println(i);
        }
    }
}
  • 示例:
import java.util.Scanner;

/**
 * 从键盘输入不断输入整数,输入0表示结束,统计一共有几个正数、负数。
 *
 * @author open1024
 * @version 1.0
 * @since 2021-08-09 15:57
 */
public class BreakDemo2 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        // 正数的个数
        int positive = 0;
        // 负数的个数
        int negative = 0;

        while (true) {
            System.out.print("请输入数字:");
            int number = input.nextInt();

            if (number > 0) {
                positive++;
            } else if (number < 0) {
                negative++;
            } else {
                break;
            }
        }

        System.out.println("正数的个数 = " + positive);
        System.out.println("负数的个数 = " + negative);
    }
}
  • 示例:
/**
 * 求1-100之间的质数
 * ps: 质数是指能被1和其本身整除的数
 *
 * @author open1024
 * @version 1.0
 * @since 2021-08-08 21:07
 */
public class PrimeNumber {
    public static void main(String[] args) {

        // 外层循环,列出从2~100的所有的数字
        for (int i = 2; i <= 100; i++) {
            // 标记:先设置为true,后面再使用内层循环进行排序
            boolean flag = true;
            // 内层循环:验证i变量中保存的这个数是不是质数
            // 验证方式:用i 对 从2到i/2的所有数 取模,如果发现能够整除,那么说明i不是质数
            for (int j = 2; j <= i / 2; j++) {
                if (i % j == 0) {
                    // 如果不是素数,就将标记改为false
                    flag = false;
                    break;
                }
            }
            if (flag) {
                System.out.println("i = " + i);
            }
        }

    }
}

4.7.2 continue

  • 使用场景:结束本次循环,继续下一次的循环。

  • 示例:

/**
 * @author open1024
 * @version 1.0
 * @since 2021-08-09 16:07
 */
public class ContinueDemo {
    public static void main(String[] args) {
        for (int i = 1; i <= 10; i++) {
            if (i % 3 == 0) {
                continue;
            }
            System.out.println("i = " + i);
        }
    }
}
  • 示例:
/**
 * 打印1-100之间的整数,跳过7的倍数和7结尾的数
 *
 * @author open1024
 * @version 1.0
 * @since 2021-08-09 16:08
 */
public class ContinueDemo2 {
    public static void main(String[] args) {
        for (int i = 1; i <= 100; i++) {
            if (i % 7 == 0 || i % 10 == 7) {
                continue;
            }
            System.out.println("i = " + i);
        }
    }
}

4.7.3 return

  • reutrn:并非专门用于结束循环的,它的功能是结束一个方法。当一个方法执行到一个return语句的时候,这个方法将被结束。

  • 和break和continue不同的是,return直接结束整个方法,不管这个return处于多少层循环之内。

  • 示例:

/**
 * @author open1024
 * @version 1.0
 * @since 2021-08-09 16:13
 */
public class ReturnDemo {
    public static void main(String[] args) {

        for (int i = 0; i < 100; i++) {
            if (i == 7) {
                return;
            }
            System.out.println(i);
        }

    }
}
0

评论区