Java条件语句
条件语句,顾名思义,就是根据条件的真假来执行不同的操作
Java的条件语句分为 if 和 switch 两种
if
又分3种情况 : 如下
-
if
if
if ... else ...
if ... else if ... else ....
switch
if 条件
条件语句的关键字是if
, else
语法如下:
-
if
语句if ( 条件 ) { 条件为 true 时,执行的代码 }
-
if ... else ....
语句if ( 条件 ) { 条件为 true 时,执行的代码 } else { 条件为 false 时,执行的代码 }
-
if .. else if ... else ...
语句if ( 条件1 ) { 条件1 为 true 时,执行的代码 } else if (条件2){ 条件2 为 true 时,执行的代码 } else if (条件3) { 条件3 为 true 时,执行的代码 } else { 上面的条件都不满足时,执行的代码 }
通过前面的章节知道:大括号中包含的内容就是语句块
下面用几个示例代码来讲解
示例 1 : if 的使用
public class HelloWorld { public static void main(String[] args) { int score = 75; if (score > 60) { System.out.println("及格了,很不错"); } } } //输出: 及格了,很不错
如果 分数 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("没有及格,加油啊"); } } } //输出: 没有及格,加油啊
上面可以看出, 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("不及格"); } } } //输出: 优秀
上面的例子可以看出, 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; }
下面看一个简单的示例:
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; } } } //输出 : 星期三
由上面可知,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开发者社区的域名
注意:每个分支不要忘了 break
因为switch 语句在满足一个条件后,执行完代码,还会继续匹配下一个 case 是否满足,如果满足,还会执行相应的语句
所以加了 break 就跳出了 switch 语句,下面的语句不会再去匹配执行了。
这点也是和 if else 的区别, if 语句有多个条件时,只会匹配一个条件
小结
在Java中 ,条件语句主要有 if
和 switch
两种,在实际编码中,这些语句使用的非常广
下面来简单的总结一下:
-
对于
if
条件, 每个分支用{ }
括起来 -
if else 的嵌套层级不要太深
-
case
语句不要漏写break
-
switch 条件,如果写上
default
是一个好的习惯,虽然也可以不写