南漳县建设局网站免费下载官方百度
Java 条件语句概述
条件语句通过判断给定条件的真假来控制程序的执行。本小节将详细介绍 Java 中各类条件语句。
1. if 语句
1.1 语法
用于根据给定条件决定是否执行一段代码。if 块仅在关联的布尔表达式为 true 时执行。
if (条件) {// 当条件成立时执行此处代码
}
 
大括号内的内容为语句块。
1.2 实例
public class IfStatement1 {public static void main(String args[]) {int age = 18;if (age >= 18) {System.out.println("在中国你已经成年");}}
}
 
当 age >= 18 为 true 时,执行 if 语句块。若语句块内只有一条语句,可省略花括号,但不推荐。
2. if … else … 语句
2.1 语法
结合 else 使用,当布尔表达式为 false 时,执行 else 语句块。
if (条件) {// 如果条件成立,执行此处代码
} else {// 如果条件不成立,执行此处代码
}
 
2.2 实例
public class IfElseStatement1 {public static void main(String args[]) {int age = 15;if (age >= 18) {System.out.println("在中国你已经成年");} else {System.out.println("在中国你还未成年");}}
}
 
当 age >= 18 为 false 时,执行 else 语句块。
补充
可使用条件表达式(三目运算符)表达式1? 表达式2 : 表达式3 简化 if else 语句。
public class IfElseStatement2 {public static void main(String args[]) {int age = 15;System.out.println(age >= 18? "在中国你已经成年" : "在中国你还未成年");}
}
 
3. if … else if … else 语句
3.1 语法
结合 else if 实现更复杂的程序分支结构。
if (条件1) {// 如果条件1成立,执行此处代码
} else if (条件2) {// 如果条件1不成立,并且条件2成立,执行此处代码
} else {// 如果条件1、条件2都不成立,执行此处代码
}
 
3.2 实例
// 根据给定分数向屏幕打印评级
public class IfElseIfStatement {public static void main(String args[]) {int score = 70;if (score >= 90) {System.out.println("优秀");} else if (score >= 70) {System.out.println("良好");} else if (score >= 60) {System.out.println("及格");} else {System.out.println("不及格");}}
}
 
程序遇到符合条件的分支就执行该分支语句块,不再执行其他分支。
3.3 嵌套 if … else 语句
可在 if 或 else if 语句中嵌套使用 if 或 else if 语句。
public class IfElseStatement1 {public static void main(String[] args) {int age = 25;int sex = 1;  // 此处用sex变量表示性别,1:男  2:女if (age >= 20) {System.out.println("在中国你已经成年");if (sex == 2) {System.out.println("并且到了法定的结婚年龄");}if (sex == 1 && age >= 22) {System.out.println("并且到了法定的结婚年龄");}} else {System.out.println("在中国你还未成年");}}
}
 
4. switch 语句
4.1 语法
可理解为简写版的多个 if.. else 语句。
switch (值) {case 值1:语句1.1...语句n.1break;case 值2:语句2.1...语句2.nbreak;default:语句n.1...语句n.n
}
 
规则:
switch语句中的变量类型可以是byte、short、int、char或者String。- 可拥有多个 
case语句,每个case后跟要比较的值和冒号。 case语句中的值数据类型必须与变量相同,且只能是常量或字面常量。- 变量值与 
case语句值相等时,执行该case后的语句,直到break跳出。 - 若无 
break,程序继续执行下一条case语句,直到出现break。 - 可包含 
default分支,一般为最后一个分支,无匹配时执行,无需break。 
4.2 实例
public class SwitchStatement1 {public static void main(String args[]) {int i = 2;switch (i) {case 1:System.out.println("i的值为1");break;case 2:System.out.println("i的值为2");break;default:System.out.println("i的值既不等于1,也不等于2");}}
}
 
从 JDK5 开始,可与枚举值一起使用;从 JDK8 开始,可与 String 值一起使用。
5. 小结
Java 中条件语句主要有 if 语句和 switch 语句。
- 场景选择:多个 
==判断用switch语句更清晰;复杂条件表达式用if语句更合适。 - if 语句使用建议: 
- 每个分支用 
{}括起来。 - 多个 
if... else时,将可能性大的分支排在前面。 - 避免 
if... else嵌套层级过深。 
 - 每个分支用 
 - switch 语句使用建议: 
- 每个分支不要漏写 
break。 - 总是写上 
default分支。 
 - 每个分支不要漏写 
 
