一.基本结构
1.单分支if
int num = 10;
if (num > 5) {System.out.println("num 大于 5");
}
2.双分支if-else
int score = 60;
if (score >= 60) {System.out.println("及格");
} else {System.out.println("不及格");
}
3.多分支
int age = 25;
if (age < 18) {System.out.println("未成年");
} else if (age < 60) {System.out.println("成年");
} else {System.out.println("老年");
}
二.条件表达式
1.关系运算符
(1)比较值的关系,返回 boolean
结果:
==
(等于)、!=
(不等于)、<
(小于)、>
(大于)、<=
(小于等于)、>=
(大于等于)
if (x != 0 && y > 5) { }
(2)逻辑运算符
&&
(逻辑与,短路运算:左为 false 则右不执行)
||
(逻辑或,短路运算:左为 true 则右不执行)
!
(逻辑非,取反
(3)括号与优先级
if ((x > 0 || y < 10) && z != 5) { }
三.代码块与作用域
单行语句可省略花括号
if () count++();
作用域限制
if (true) {int a = 10;
}
// System.out.println(a); // 编译错误:a 未定义
四.嵌套if语句
int score = 75;
String gender = "male";if (score >= 60) {if (gender.equals("male")) { // 内层 ifSystem.out.println("男性及格");} else {System.out.println("女性及格");}
} else {System.out.println("不及格");
}
五.Switch
1.语法
switch (表达式) {case 值1:// 执行语句1break; case 值2:// 执行语句2break;default:// 执行语句n
}
switch (表达式) {case 值1 -> { // 箭头语法,自动 break// 执行语句1}case 值2 -> 执行语句2; // 单行语句可省略花括号default -> 执行语句n;
}
整数:
int day = 3;
switch (day) {case 1 -> System.out.println("周一");case 2 -> System.out.println("周二");default -> System.out.println("其他");
}
字符串:
String season = "spring";
switch (season) {case "spring" -> System.out.println("春暖花开");case "summer" -> System.out.println("夏日炎炎");default -> System.out.println("未知季节");
}
枚举:
enum Color { RED, GREEN, BLUE }
Color c = Color.GREEN;
switch (c) {case RED -> System.out.println("红色");case GREEN -> System.out.println("绿色"); // 输出:绿色case BLUE -> System.out.println("蓝色");
}
六.for
1.语法
for (初始化表达式; 条件表达式; 更新表达式) {// 循环体代码
}
(1)初始化表达式:仅执行一次,用于声明并初始化循环变量
(2)条件表达式:每次循环前检查,返回 boolean,为 true 时执行循环体。
(3)更新表达式:每次循环体执行后执行,用于修改循环变量
2.执行流程
(1)执行初始化表达式
(2)检查条件表达式:
若为 true,执行循环
若为 false,退出循环
(3)执行更新表达式,回到步骤2
3.事例
int sum = 0;
for (int i = 1; i <= 10; i++) {sum += i;
}
System.out.println("和为:" + sum);
4.增强for循环
(1)语法
for (数据类型 变量 : 数组或集合) {// 遍历每个元素,变量代表当前元素
}
遍历数组
int[] numbers = {1, 2, 3, 4, 5};
for (int num : numbers) { System.out.print(num + " ");
}
遍历集合
List<String> fruits = Arrays.asList("苹果", "香蕉", "橙子");
for (String fruit : fruits) {System.out.println(fruit);
}