条件语句可根据不同的条件执行不同的语句,条件语句包括 if 条件语句与 switch 多分支语句。
if 条件语句
if 条件语句是一个重要的编程语句,用于告诉程序在某个条件成立的情况下执行某段语句,而在另一种情况下执行另外的语句。使用 if 条件语句,可选择是否要执行紧跟在条件之后的那个语句。关键字 if 之后是作为条件的“布尔表达式”,如果该表达式返回的结果为 true,则执行其后的语句;若为 false,则不执行 if 条件之后的语句。if 条件语句可分为简单的 if 条件语句、if...else 语句和 if...else if 多分支语句。
简单的 if 条件语句
语法为:
if (布尔表达式) {
//语句序列
}
- 布尔表达式:必要参数,表示最后返回的结果必须是一个布尔值。它可以是一个单纯的布尔变量或常量,也可以是使用关系或布尔运算符的表达式。
- 语句序列:可选参数。可以是一条或多条语句,当表达式的值为 true 时执行这些语句。若语句序列中仅有一条语句,则可以省略条件语句中的"{ }"。
当语句序列中只有一条语句时:
int a = 100;
if (a == 100)
System.out.println("a = 100");
虽然 if 后面的复合语句块只有一条语句,省略"{ }"并无语法错误,但为了增强程序的可读性,一般建议还是不要省略"{ }"。
条件语句后的语句序列省略时,则可以保留外面的大括号,也可以省略大括号。然后在末尾添加";"。如下:
boolean b = false;
if (b);
//或者
boolean b = false;
if (b) {}
简单的 if 条件语句的执行过程为:
![](https://img-blog.csdnimg.cn/20201018211932389.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ppYW9tdWJhaQ==,size_16,color_FFFFFF,t_70)
public class test {
public static void main(String[] args) {
int x = 45;
int y = 12;
if (x > y) {
System.out.println(x + " > " + y);
}
if (x < y) {
System.out.println(x + " < " + y);
}
}
}
if...else 语句
if...else 语句是条件语句中最常用的一种形式,它会针对某种条件有选择地做出处理。通常表现为“如果满足某种条件,就进行某种处理,否则就进行另一种处理”。
语法如下:
if (表达式) {
//语句
} else {
//语句
}
if 后面"( )"中的表达式必须是 boolean 类型的。如果表达式的值为 true,则执行紧跟 if 语句的复合语句;如果表达式的值为 false,则执行 else 后面的符合语句。if...else 语句的执行过程如下图所示。
![](https://img-blog.csdnimg.cn/20201018212227308.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ppYW9tdWJhaQ==,size_16,color_FFFFFF,t_70)
同简单的 if 条件语句一样,如果 if...else 语句的语句序列中只有一条语句(不包含注释),则可以省略该语句序列外面的"{ }"。有时候为了编程的需要,else 或者 if 后面的"{ }"中可以没有语句。
public class test {
public static void main(String[] args) {
int math = 86;
int english = 56;
if (math > 60) {
System.out.println("数学及格了!");
} else {
System.out.println("数学没及格!");
}
if (english > 60) {
System.out.println("英语及格了!");
} else {
System.out.println("英语没及格!");
}
}
}
if...else 语句可以使用三元运算符进行简化,如:
if (a > 0)
b = a;
else
b = -a;
可以简写成:
b = a > 0 ? a : -a;
if...else if 多分支语句
if...else if 多分支语句用于针对某一事件的多种情况进行处理。通常表现为“如果满足某种条件,就进行某种处理,否则如果满足另一种条件则执行另一种处理”。语法如下:
if (条件表达式1) {
//语句序列1
} else if (t条件表达式2) {
//语句序列2
}
...
else if (表达式n) {
//语句序列n
}
- 条件表达式1~条件表达式n:必要参数。可以由多个表达式组成,但最后返回的结果一定要为 boolean 类型。
- 语句序列:可以是一条或多条语句,当条件表达式1的值为 true 时,执行语句序列1;当条件表达式2的值为 true 时,执行语句序列2,以此类推。当省略任意一组语句序列时,可以保留其外面的"{ }",也可以将"{ }"替换为";"。
if...else if 多分支语句的执行过程如下图所示:
![](https://img-blog.csdnimg.cn/20201018222655747.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ppYW9tdWJhaQ==,size_16,color_FFFFFF,t_70)
public class test {
public static void main(String[] args) {
int x = 20;
System.out.println("x = " + x);
if (x > 30) {
System.out.println("x > 30");
} else if (x > 10){
System.out.println("30 > x > 10");
} else if (x > 0) {
System.out.println("10 > x > 0");
} else {
System.out.println("x < 0");
}
}
}