Java 基础 - 6. if 条件语句
1. 引入
当我们写程序时,经常会遇到“根据条件做不同事情”的需求,比如:
- 如果分数 ≥ 60,就输出“及格”;否则输出“不及格”
- 如果年龄 ≥ 18,就提示“成年人”;否则提示“未成年”
- 如果账户余额足够,就允许购买;否则提示余额不足
为了实现这些判断,Java 提供了非常重要的 if 条件语句。
if 是程序中的“选择结构”,让程序学会“思考”:满足条件时做某件事,不满足就改做另外的事。
2. 介绍
Java 中的 if 语句用于判断某个条件是“真”还是“假”。
常用形式有三种:
if单独使用if...elseif...else if...else多条件判断
这些写法都依赖一个“条件表达式”,比如:
age >= 18score == 100money < 500a != b
条件的结果只有两种:true(真)和 false(假)。
3. 语法 + 案例
3.1 if 单独使用
语法
if (条件) {
执行语句;
}
示例:判断是否成年
int age = 20;
if (age >= 18) {
System.out.println("你已经成年了!");
}
运行结果:
你已经成年了!
如果条件不成立,什么都不会输出。
3.2 if...else 语句
当条件成立执行 A,否则执行 B。
语法
if (条件) {
执行语句A;
} else {
执行语句B;
}
示例:判断及格
int score = 58;
if (score >= 60) {
System.out.println("考试及格!");
} else {
System.out.println("考试不及格。");
}
3.3 if...else if...else 多条件判断
用于连续判断不同的范围或情况。
语法
if (条件1) {
执行语句1;
} else if (条件2) {
执行语句2;
} else if (条件3) {
执行语句3;
} else {
执行语句N;
}
示例:成绩等级判断
int score = 85;
if (score >= 90) {
System.out.println("A 等级");
} else if (score >= 80) {
System.out.println("B 等级");
} else if (score >= 70) {
System.out.println("C 等级");
} else if (score >= 60) {
System.out.println("D 等级");
} else {
System.out.println("不及格");
}
4. 代码说明
-
if 后面的小括号里必须放“条件表达式”
如:a > b、score >= 60、age == 18 -
大括号
{}用来包含该条件下要执行的语句 -
if 和 else 只能由上往下匹配
- 多个
else if会依次判断 - 一旦遇到满足条件的分支,后面分支就不会再执行
- 多个
-
注意:== 是判断是否相等,不要写成 =
==是判断=是赋值
5. 练习题(含答案)
练习 1:判断奇偶数
用户输入一个整数,判断它是奇数还是偶数。
参考答案:
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.print("请输入一个整数:");
int num = s.nextInt();
if (num % 2 == 0) {
System.out.println("这是偶数");
} else {
System.out.println("这是奇数");
}
}
}
练习 2:判断是否为合法年龄(0~120)
如果年龄在 0~120 之间输出 “合法年龄”,否则输出 “年龄不合法”。
参考答案:
import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.print("请输入年龄:");
int age = s.nextInt();
if (age >= 0 && age <= 120) {
System.out.println("合法年龄");
} else {
System.out.println("年龄不合法");
}
}
}
练习 3:判断成绩等级
输入 0~100 的成绩,判断属于哪个等级:
- 90~100:优秀
- 70~89:良好
- 60~69:及格
- 0~59:不及格
参考答案:
import java.util.Scanner;
public class Test3 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.print("请输入成绩:");
int score = s.nextInt();
if (score >= 90 && score <= 100) {
System.out.println("优秀");
} else if (score >= 70) {
System.out.println("良好");
} else if (score >= 60) {
System.out.println("及格");
} else if (score >= 0) {
System.out.println("不及格");
} else {
System.out.println("输入错误!");
}
}
}
评论区