9. Java条件语句

Java条件语句

条件语句,顾名思义,就是根据条件的真假来执行不同的操作

Java的条件语句分为 if 和 switch 两种

if 又分3种情况 : 如下

  • if
    1. if
    2. if ... else ...
    3. if ... else if ... else ....
  • switch

if 条件

条件语句的关键字是if , else

语法如下:

  • if 语句

    if ( 条件 ) { 条件为 true 时,执行的代码 }
  • if ... else .... 语句

    if ( 条件 ) { 条件为 true 时,执行的代码 } else { 条件为 false 时,执行的代码 }
  • if .. else if ... else ... 语句

    if ( 条件1 ) { 条件1true 时,执行的代码 } else if (条件2){ 条件2true 时,执行的代码 } else if (条件3) { 条件3true 时,执行的代码 } 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 () { case1: 执行代码 break; case2: 执行代码 break; case3: 执行代码 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 = "example.com"; switch (site){ case "www.baidu.com": System.out.println("这是百度的域名"); break; case "www.qq.com": System.out.println("这是QQ的域名"); break; case "example.com": 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是一个好的习惯,虽然也可以不写