分支控制语句是java学习者必须要掌握的技术块,也是今后从事开发工作中最常用到的技术块。
分支语句又称条件语句,条件语句使部分程序可根据某些表达式的值被有选择地执行。 Java 编程语言支持双路 if 和多路 switch 分支语句。
if 语句
if-else 语句的基本句法是:
if(布尔表达式){
语句块 1;
}else{
语句块 2;
}
说明: (1) 布尔表达式返回值为true或false。 (2) 如果为true,则执行语句或块 1,执行完毕跳出if-else语句。 (3) 如果为false,则跳过语句或块 1,然后执行else下的语句或块 2。

javakc带你学习java分支控制语句
例如:
int a=10;
int b=10;
if (a >= b) {
System.out.println("a 大于等于 b");
} else {
System.out.println("a 小于 b") } ;
在 Java 编程语言中,if ()用的是一个布尔表达式,而不是数字值,这一点与 C/C++不同。 前面已经讲过,布尔类型和数字类型不能相互转换。因而,如果出现下列情况:
if (x) // x 是 int 型
你应该使用下列语句替代:
if (x ! = 0)
注意: (1)if 块和 else 块可以包含任意的 java 代码,自然也就可以包含新的 if-else,也 就是说:if-else 是可以嵌套的,嵌套的规则是不可以交叉,必须完全包含。比如:
if (a1 > a2) {
if (a1 > a3) {// 包含在里面的块必须先结束} else {// 同样可以包含 if-else 块}
}
(2)else 部分是选择性的,并且当测试条件为假时如不需做任何事,else 部分可被省略。 也就是说 if 块可以独立存在,但是 else 块不能独立存在,必须要有 if 块才能有 else 块。
(3)如果 if 块和 else 块的语句只有一句时,可以省略{},例如:
if (a1 > a2)
System.out.println("这是 if块");
else
System.out.println("这是 else 块");
上面的代码从语法角度是完全正确的,但是从代码的可阅读性上,容易让人产生迷惑,所以 我们不建议大家这么写。
(4)还可以把 else 和 if 组合使用,就是使用 else if,表达“否则如果”的意思,示 例如下:
if (score >= 90) {
grade = "very good";
} else if (score >= 70) {
grade = "good";
} else if (score >= 60) {
grade = "pass";
} else {
grade = "No pass";
}
(5)如果不用“{ }”,则“else”总是与最接近它的前一个“if”相匹配,例如:
if (x > 5)
if (y > 5)System.out.println("x and y are > 5");elseSystem.out.println("x is <= 5");
执行顺序与上面的对应匹配形式不同,而是与下面形式匹配
if (x > 5)
if (y > 5)System.out.println("x and y are > 5");
else
System.out.println("x is <= 5");
switch 语句
switch 表示选择分支的情况,switch 语句的句法是:
switch (表达式 1){
case 表达式 2:
语句块 2;break;
case 表达式 3:
语句块 3;break;
default:
语句块 4;break;
}
说明:
(1)表达式 1 的类型,可以是 byte、short、int 、char、字符串。
(2)case 分支是要执行的程序语句。
(3)表达式 2、3、4 是可能出现的值。
(4)不同的 case 分支对应着不同的语句或块序列。
(5)break 表示跳出这一分支。
(6)当变量或表达式的值不能与任何 case 值相匹配时,可选缺省符(defauit)指出了 应该执行的程序代码。
示例:
public class Test {
public static void main(String[] args) {int colorNum = 5;switch (colorNum) {case 0:System.out.println("红色");break;case 1:System.out.println("绿色");break;default:System.out.println("黑色");break;}}
}
运行结果: 黑色
(6)如果没有 break 语句作为某一个 case 代码段的结束句,则程序的执行将继续到下 一个 case,而不检查 case 表达式的值。示例:
import java.awt.Color;
public class Test {
public static void main(String[] args) {int colorNum = 0;switch (colorNum) {case 0:System.out.println("红色");case 1:System.out.println("绿色");default:System.out.println("黑色");break;}}
}
运行结果: 红色 绿色 黑色