Java中选择结构的执行流程与应用

基础内容

在Java中,选择结构(也称为分支结构)用于根据不同的条件执行不同的代码块。这允许程序根据特定条件做出决策,从而改变其执行路径。Java提供了几种不同类型的选择结构,包括if, if-else, if-else if, switch等。

1. if 语句

if 语句是最基本的选择结构,它检查一个条件,如果条件为真,则执行相应的代码块。

语法:

if (condition) {
    // 代码块
}

示例:

int x = 10;
if (x > 5) {
    System.out.println("x is greater than 5");
}

2. if-else 语句

if-else 结构提供了一种处理两种情况的方法:如果条件为真则执行一个代码块,否则执行另一个代码块。

语法:

if (condition) {
    // 当条件为真时执行的代码块
} else {
    // 当条件为假时执行的代码块
}

示例:

int time = 20;
if (time < 18) {
    System.out.println("Good day.");
} else {
    System.out.println("Good evening.");
}

3. if-else if-else 语句

当有多个条件需要检查时,可以使用if-else if-else 结构。这种结构可以包含任意数量的else if 语句。

语法:

if (condition1) {
    // 当 condition1 为真时执行的代码块
} else if (condition2) {
    // 当 condition1 为假且 condition2 为真时执行的代码块
} else {
    // 当所有前面的条件都为假时执行的代码块
}

示例:

int score = 85;
if (score >= 90) {
    System.out.println("Grade A");
} else if (score >= 80) {
    System.out.println("Grade B");
} else {
    System.out.println("Grade C");
}

4. switch 语句

switch 语句允许基于不同的值来选择一个代码块执行。这是另一种形式的选择结构。

语法:

switch (expression) {
    case value1:
        // 代码块
        break;
    case value2:
        // 代码块
        break;
    // 可以有任意数量的 case 语句
    default:
        // 如果没有匹配的 case,则执行此代码块
}

示例:

String day = "Sunday";
switch (day) {
    case "Monday":
        System.out.println("Today is Monday");
        break;
    case "Tuesday":
        System.out.println("Today is Tuesday");
        break;
    case "Sunday":
        System.out.println("Today is Sunday");
        break;
    default:
        System.out.println("Not a valid day");
}

执行流程

  • 对于ifif-else 结构,从上到下依次检查条件,一旦某个条件为真,则执行对应的代码块,并跳过剩余的条件。
  • 对于if-else if-else 结构,同样从上到下检查每个条件,一旦某个条件满足,就执行对应的代码块并退出整个结构。
  • switch 语句会先计算表达式的值,然后查找与该值匹配的case 标签。如果找到匹配项,则执行对应的代码块直到遇到break 语句或结构的结尾。如果没有匹配项,则执行default 代码块(如果有的话)。

这些控制结构是编写逻辑复杂的应用程序的基础,能够帮助程序员根据不同的输入或状态来决定程序的行为。

Java选择结构的应用案例

下面我会给出几个具体的Java选择结构的应用案例,包括使用ifif-elseif-else if-elseswitch语句的例子。

案例 1: 使用 if 语句

假设我们需要编写一个简单的程序,根据年龄判断一个人是否成年。

public class AdultChecker {
    public static void main(String[] args) {
        int age = 22;

        if (age >= 18) {
            System.out.println("This person is an adult.");
        }
    }
}

在这个例子中,如果age变量的值大于等于18,则输出“这个人是成年人”。

案例 2: 使用 if-else 语句

接下来,我们扩展上面的例子,添加一个else分支,以便我们可以区分成年人和未成年人。

public class AdultChecker {
    public static void main(String[] args) {
        int age = 16;

        if (age >= 18) {
            System.out.println("This person is an adult.");
        } else {
            System.out.println("This person is not an adult.");
        }
    }
}

现在,如果年龄小于18岁,程序会输出“这个人不是成年人”。

案例 3: 使用 if-else if-else 语句

考虑一个更复杂的场景,例如根据学生的分数划分成绩等级。

public class GradeCalculator {
    public static void main(String[] args) {
        int score = 85;

        if (score >= 90) {
            System.out.println("Grade: A");
        } else if (score >= 80) {
            System.out.println("Grade: B");
        } else if (score >= 70) {
            System.out.println("Grade: C");
        } else if (score >= 60) {
            System.out.println("Grade: D");
        } else {
            System.out.println("Grade: F");
        }
    }
}

在这个例子中,根据分数的不同范围,程序会输出相应的成绩等级。

案例 4: 使用 switch 语句

我们还可以使用switch语句来实现上述功能,这样可以让代码更加简洁。

public class GradeCalculator {
    public static void main(String[] args) {
        int score = 85;

        switch (score / 10) {
            case 10:
            case 9:
                System.out.println("Grade: A");
                break;
            case 8:
                System.out.println("Grade: B");
                break;
            case 7:
                System.out.println("Grade: C");
                break;
            case 6:
                System.out.println("Grade: D");
                break;
            default:
                System.out.println("Grade: F");
        }
    }
}

这里,我们通过取分数除以10的商来进行匹配,从而简化了代码。

总结

以上案例展示了如何使用Java中的选择结构来根据不同的条件执行不同的逻辑。这些结构对于编写逻辑清晰、易于维护的程序至关重要。在实际开发中,可以根据具体需求灵活地使用这些控制结构。

案例进阶

接下来,我们将探讨一些更具体的应用案例,这些案例涉及到了一些实际场景中的问题解决方法。

案例 5: 使用 if-else if-else 语句进行温度分类

假设你正在开发一款天气应用程序,需要根据气温将天气分类为冷、温和或热。

public class TemperatureClassifier {
    public static void main(String[] args) {
        double temperature = 22.5;

        if (temperature < 10) {
            System.out.println("It's cold outside!");
        } else if (temperature < 20) {
            System.out.println("It's moderate outside!");
        } else {
            System.out.println("It's hot outside!");
        }
    }
}

在这个例子中,程序根据给定的温度值输出相应的天气描述。

案例 6: 使用 switch 语句进行月份分类

假设你需要写一个程序,根据用户输入的月份名称输出该月份所在的季节。

public class SeasonFinder {
    public static void main(String[] args) {
        String month = "June";

        switch (month.toLowerCase()) {
            case "december":
            case "january":
            case "february":
                System.out.println("It's winter.");
                break;
            case "march":
            case "april":
            case "may":
                System.out.println("It's spring.");
                break;
            case "june":
            case "july":
            case "august":
                System.out.println("It's summer.");
                break;
            case "september":
            case "october":
            case "november":
                System.out.println("It's autumn.");
                break;
            default:
                System.out.println("Invalid month.");
        }
    }
}

在这个例子中,我们使用switch语句来判断输入的月份属于哪个季节。

案例 7: 使用 if-else 语句进行折扣计算

假设你正在为一家在线商店编写一个程序,该程序根据用户的购物总额提供不同的折扣。

public class DiscountCalculator {
    public static void main(String[] args) {
        double totalAmount = 150.00;

        if (totalAmount >= 100 && totalAmount < 200) {
            double discount = totalAmount * 0.05;
            System.out.printf("Your discount is %.2f, total amount after discount is %.2f%n", discount, totalAmount - discount);
        } else if (totalAmount >= 200) {
            double discount = totalAmount * 0.10;
            System.out.printf("Your discount is %.2f, total amount after discount is %.2f%n", discount, totalAmount - discount);
        } else {
            System.out.println("No discount applied.");
        }
    }
}

在这个例子中,我们使用if-else语句来确定用户是否有资格获得折扣以及折扣的百分比。

案例 8: 使用 switch 语句进行支付方式选择

假设你需要编写一个程序,根据用户选择的支付方式显示相应的信息。

public class PaymentMethodSelector {
    public static void main(String[] args) {
        String paymentMethod = "credit card";

        switch (paymentMethod.toLowerCase()) {
            case "cash":
                System.out.println("Please pay in cash at the counter.");
                break;
            case "credit card":
                System.out.println("Please swipe your credit card.");
                break;
            case "debit card":
                System.out.println("Please swipe your debit card.");
                break;
            case "mobile payment":
                System.out.println("Please use your mobile wallet to pay.");
                break;
            default:
                System.out.println("Invalid payment method.");
        }
    }
}

这个例子展示了如何使用switch语句来处理不同的支付选项。

总结

这些案例展示了如何在实际编程任务中使用Java的选择结构。你可以看到,在不同的场景下,选择合适的选择结构可以使代码更加简洁和高效。希望这些例子能帮助你更好地理解如何在你的项目中运用这些结构。

😍😍 海量H5小游戏、微信小游戏、Web casualgame源码😍😍
😍😍试玩地址: https://www.bojiogame.sg😍😍
😍看上哪一款,需要源码的csdn私信我😍

————————————————

​最后我们放松一下眼睛
在这里插入图片描述

  • 13
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极致人生-010

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值