Java里的选择题:if-else和switch-case帮你做决定!

58 阅读4分钟

什么是条件语句?

在日常生活中,我们经常需要根据不同的情况做不同的决定,比如: “如果今天下雨,我就带伞,否则我就不带伞。” 在编程中,条件语句就是用来帮助程序“做决定”的工具。通过条件语句,程序可以根据某个条件是否成立,选择执行不同的代码。

Java中有两种常用的条件语句:if-elseswitch-case。它们就像程序中的“选择题”,帮助程序根据条件选择正确的分支执行。


if-else:二选一的“判断题”

if-else语句就像生活中的“判断题”,根据一个条件是否成立,选择执行哪一段代码。

基本语法:
if (条件) {
    // 当条件为真(true)时执行的代码
} else {
    // 当条件为假(false)时执行的代码
}
举个例子:

想象一下你正在写一个天气应用,程序要根据是否下雨决定是否提醒用户带伞:

boolean isRaining = true;
​
if (isRaining) {
    System.out.println("今天下雨,记得带伞!");
} else {
    System.out.println("天气晴朗,不用带伞。");
}

在这个例子中:

  • if (isRaining) 意思是“如果正在下雨”,那么执行System.out.println("今天下雨,记得带伞!");
  • 如果条件不成立(也就是isRainingfalse),就执行else里面的代码,提示不用带伞。
多个条件的情况:

有时候我们可能会有多个条件要判断,这时可以使用else if

int temperature = 30;
​
if (temperature > 35) {
    System.out.println("天气很热,注意防暑!");
} else if (temperature >= 20 && temperature <= 35) {
    System.out.println("天气不错,出去走走吧!");
} else {
    System.out.println("天气有点凉,记得加衣服。");
}

在这个例子里:

  • 如果温度大于35度,提示“天气很热”。
  • 如果温度在20到35度之间,提示“天气不错”。
  • 如果温度低于20度,则提示“天气凉”。

if-else的优势在于它适合处理多个条件,灵活性强。


switch-case:多选一的“选择题”

switch-case语句就像一张“选择题”,根据一个变量的值,执行对应的代码。它非常适合在你有明确的、多个选项时使用。

基本语法:
switch (变量) {
    case1:
        // 当变量等于值1时执行的代码
        break;
    case2:
        // 当变量等于值2时执行的代码
        break;
    // 可以有多个case
    default:
        // 当没有匹配的值时执行的代码
}
举个例子:

假设你正在写一个自动贩卖机程序,用户输入选择的饮料编号,程序要根据编号输出对应的饮料:

int choice = 2;
​
switch (choice) {
    case 1:
        System.out.println("你选择了可乐!");
        break;
    case 2:
        System.out.println("你选择了果汁!");
        break;
    case 3:
        System.out.println("你选择了矿泉水!");
        break;
    default:
        System.out.println("无效选择,请重新输入!");
}

在这个例子里:

  • 如果用户输入的是1,程序输出“你选择了可乐!”。
  • 如果输入的是2,输出“你选择了果汁!”。
  • 如果输入的是其他数字,比如5,程序会执行default部分,提示“无效选择”。
注意:
  • break语句是用来告诉程序“到这里结束,不用继续执行后面的代码了”。如果你忘记写break,程序会继续执行下一个case的代码,导致结果不正确。
  • default相当于else,当没有匹配的case时执行它的代码。

if-else 和 switch-case 的区别:

  1. 使用场景不同

    • if-else适合处理范围逻辑判断,比如判断年龄是否大于18,分数是否及格。
    • switch-case适合处理多个明确的选项,比如根据颜色、饮料编号做出选择。
  2. 可读性

    • 如果你有明确的多个选项(比如数字、字符等),switch-case的代码会更简洁、清晰。
    • 如果你的条件比较复杂或者包含范围,if-else会更加灵活。

小结:

  • if-else:就像二选一的判断题,适合根据条件是否成立来做判断,处理多种复杂情况时很方便。
  • switch-case:就像多选一的选择题,适合处理多个固定的选项,代码更简洁。

通过掌握if-elseswitch-case,你就能让程序根据不同的条件做出相应的决策,像一个聪明的助手一样执行不同的任务!