Java入门篇:分支控制语句

    作者:课课家教育更新于: 2016-01-26 10:26:03

    大神带你学编程,欢迎选课

      好久不见了大家。本周将为大家讲解java的入门基础内容。本次将解读的是Java的分支控制语句,这在java语言中也是十分重要的部分。基础打的牢,以后才不吃力。

      分支控制语句

      分支语句又称条件语句,条件语句使部分程序可根据某些表达式的值被有选择地执行。Java编程语言支持双路 if和多路 switch 分支语句。

      if语句

      if, else 语句的基本句法是:

      if(布尔表达式){

      语句或块1;

      }else{

      语句或块2;

      }

      布尔表达式返回值为true或false。如果为true,则执行语句或块1,执行完毕跳出if-else语句。如果为false,则跳过语句或块1,然后执行else下的语句或块2。

      例如:

    Java入门篇:分支控制语句_java开发工程师_从零开始学java_课课家

      int a=10;

      int b=10;

      if (a >= b) {

      System.out.println("a 大于等于 b");

      } else {

      System.out.println("a 小于 b");

      }

      53

      在 java编程语言中,if ()用的是一个布尔表达式,而不是数字值,这一点与 C/C++不同。前面已经讲过,布尔类型和数字类型不能相互转换。因而,如果出现下列情况:

      if (x) // x 是 int 型

      你应该使用下列语句替代:

      if (x ! = 0)

      if块和 else 块可以包含任意的 java 代码,自然也就可以包含新的 if-else,也就是说:if-else 是可以嵌套的,嵌套的规则是不可以交叉,必须完全包含。比如:

      if (a1 > a2) {

      if (a1 > a3) {

      // 包含在里面的块必须先结束

      } else {

      // 同样可以包含 if-else 块

      }

      }

      else 部分是选择性的,并且当测试条件为假时如不需做任何事,else 部分可被省略。也就是说 if块可以独立存在,但是 else 块不能独立存在,必须要有 if块才能有 else 块。

      如果 if 块和 else 块的语句只有一句时,可以省略{},例如:

      if (a1 > a2)

      System.out.println("这是 if块");

      else

      System.out.println("这是 else 块");

      上面的代码从语法角度是完全正确的,但是从代码的可阅读性上,容易让人产生迷惑,所以不建议大家这么写。

      还可以把 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";

      }

      如果不用“{ }”,则“else”总是与最接近它的前一个“if”相匹配。

      例如:

      if (x > 5)

      if (y > 5)

      System.out.println("x and y are > 5");

      else

      System.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的值必须与整型兼容或者enum枚举类型的常量值,包含byte、short、int 和char,不能是字符串或对象,也不能是long型的值。case分支要执行的程序语句。表达式2、3、4是可能出现的值。不同的case分支对应着不同的语句或块序列。  break表示跳出这一分支。当变量或表达式的值不能与任何 case 值相匹配时,可选缺省符(defauit)指出了应该执行的程序代码。

      示例:

      public class Test {

      public static void main(String[] args) {

      int colorNum = 5;

      switch (colorNum) {

      case 0:

      System.out.println(Color.red);

      break;

      case 1:

      System.out.println(Color.green);

      break;

      default:

      System.out.println(Color.black);

      break;

      }

      }

      }

      运行结果:

      java.awt.Color[r=0,g=0,b=0]

      (6)如果没有 break 语句作为某一个 case 代码段的结束句,则程序的执行将继续到下一个

      case,而不检查 case 表达式的值。

      例:

      public class Test {

      public static void main(String[] args) {

      int colorNum = 0;

      switch (colorNum) {

      case 0:

      System.out.println(Color.red);

      case 1:

      System.out.println(Color.green);

      default:

      System.out.println(Color.black);

      break;

      }

      }

      }

      运行结果:

      java.awt.Color[r=255,g=0,b=0]

      java.awt.Color[r=0,g=255,b=0]

      java.awt.Color[r=0,g=0,b=0]

课课家教育

未登录