Java条件语句
条件语句,顾名思义,就是根据条件的真假来执行不同的操作
Java的条件语句分为 if 和 switch 两种
if
又分3种情况 : 如下
if
if
if ... else ...
if ... else if ... else ....
switch
if 条件
条件语句的关键字是if
, else
语法如下:
-
if
语句if ( 条件 ) { 条件为 true 时,执行的代码 }
1
2
3 -
if ... else ....
语句if ( 条件 ) { 条件为 true 时,执行的代码 } else { 条件为 false 时,执行的代码 }
1
2
3
4
5 -
if .. else if ... else ...
语句if ( 条件1 ) { 条件1 为 true 时,执行的代码 } else if (条件2){ 条件2 为 true 时,执行的代码 } else if (条件3) { 条件3 为 true 时,执行的代码 } else { 上面的条件都不满足时,执行的代码 }
1
2
3
4
5
6
7
8
9
通过前面的章节知道:大括号中包含的内容就是语句块
下面用几个示例代码来讲解
示例 1 : if 的使用
public class HelloWorld {
public static void main(String[] args) {
int score = 75;
if (score > 60) {
System.out.println("及格了,很不错");
}
}
}
//输出: 及格了,很不错
2
3
4
5
6
7
8
9
10
11
如果 分数 score 只有 50 分,也想要打印一句话呢,看下面的示例
示例 2 : if … else… 的使用
public class HelloWorld {
public static void main(String[] args) {
int score = 50;
if (score > 60) {
System.out.println("及格了,很不错");
}else {
System.out.println("没有及格,加油啊");
}
}
}
//输出: 没有及格,加油啊
2
3
4
5
6
7
8
9
10
11
12
13
上面可以看出, if
中的条件不满足,所以代码执行的是 else
中的语句
所以输出 “没有及格,加油啊”
示例3: if … else if … else … 语句
public class HelloWorld {
public static void main(String[] args) {
int score = 85;
if (score > 90 ) {
System.out.println("非常优秀");
} else if(score > 80 ) {
System.out.println("优秀");
} else if(score > 70) {
System.out.println("良");
}else if (score > 60){
System.out.println("及格了");
} else {
System.out.println("不及格");
}
}
}
//输出: 优秀
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
上面的例子可以看出, score 第一个满足的条件是 score > 80
,所以打印 “优秀” ,跳出整个 if
条件
后面的 score 虽然也满足 score > 70
, scroe > 60
这2个条件
但是也不会执行的,因为 if
语句只匹配第一个条件,只要满足了第一个条件,后面的就不会再判断了。
switch 条件
switch
条件可以理解为 if ... else if ... else ...
这种形式
switch
的语法如下:
switch ( 值 ) {
case 值1:
执行代码
break;
case 值2:
执行代码
break;
case 值3:
执行代码
break;
case 值n:
执行代码
break;
default:
执行默认代码
break;
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
下面看一个简单的示例:
public class HelloWorld {
public static void main(String[] args) {
int day = 3;
switch ( day ) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
default:
System.out.println("未知");
break;
}
}
}
//输出 : 星期三
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
由上面可知,day 的值是 3 , 满足 第 3 个case语句,所以打印:星期三
从JDK 8 开始,switch语句可以与 String 一起使用了
如下:
public class HelloWorld {
public static void main(String[] args) {
String site = "www.helloworld.net";
switch (site){
case "www.baidu.com":
System.out.println("这是百度的域名");
break;
case "www.qq.com":
System.out.println("这是QQ的域名");
break;
case "www.helloworld.net":
System.out.println("这是HelloWorld开发者社区的域名");
break;
default:
System.out.println("未知域名");
break;
}
}
}
//输出 : 这是HelloWorld开发者社区的域名
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
注意:每个分支不要忘了 break
因为switch 语句在满足一个条件后,执行完代码,还会继续匹配下一个 case 是否满足,如果满足,还会执行相应的语句
所以加了 break 就跳出了 switch 语句,下面的语句不会再去匹配执行了。
这点也是和 if else 的区别, if 语句有多个条件时,只会匹配一个条件
小结
在Java中 ,条件语句主要有 if
和 switch
两种,在实际编码中,这些语句使用的非常广
下面来简单的总结一下:
-
对于
if
条件, 每个分支用{ }
括起来 -
if else 的嵌套层级不要太深
-
case
语句不要漏写break
-
switch 条件,如果写上
default
是一个好的习惯,虽然也可以不写