Java私塾跟我学系列――JAVA篇 第二章 基础语法

 

七、控制语句 (1)                                                 

1. 分支控制语句                                                                           

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

1.1  if  else语句                                                                  

If else语句的基本句法是:

     if (布尔表达式)

        语句序列;

       else  

        语句序列;

     

例如:

int count;

    count = getCount(); // a method defined in the program 

    if (count < 0) { 

      System.out.println("Error: count value is negative."); 

    }else { 

      System.out.println("There will be " + count + 

        " people for lunch today."); 

    } 

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

}

}

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

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

if(a1 >2)

    System.out.println(“这是if”);

    else

        System.out.println(“这是else”);   

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

4 还可以把elseif组和使用,就是使用else  if,表达“否则如果”的意思,示例如下:

    if(a1 > a2){

        System.out.println(“a1 > a2”);

}else if(a1 > a3){

    System.out.println(“a1 > a3”);

}else if(a1 > a4){

    System.out.println(“a1 > a4”);

}else{

    System.out.println(“其它”);

}

再来个例子:

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  > 5" );

else

    System.out.println( "x  <= 5" ); 

 

执行与上面的对应匹配形式不同,而是与下面形式匹配

 

  if ( x > 5 )

    if ( y > 5 )

        System.out.println( "x  > 5" );

    else

        System.out.println( "x <= 5" );

 

1.2  switch语句                                                                 

switch表示选择分支的情况,switch语句的句法是:

     switch (expr1)

         case 1:

             语句序列;

             break;

         case 2:

             语句序列;

             break;

         default:

             语句序列;

             break;

 

说明:

1 switch的表达式expr1只能是int以下的整数型,及相应的包装类(JDK5.0以后),或者是enum枚举类型。int以下的整数型包含byteshortcharint。不能是字符串或引用类型,也不能是long型或浮点型。

2)当变量或表达式的值不能与任何case值相匹配时,缺省符(default)指出了应该执行的程序代码。

1

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]

 

3)如果没有break语句作为某一个case代码段的结束句,则程序的执行将继续到下一个case,而不检查case表达式的值。

2

 

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] 

2.设定背景颜色为黑色,而不考虑case变量colorNum的值。如果colorNum的值为0,背景颜色将首先被设定为红色,然后为绿色,再为黑色。

 

Java私塾跟我学系列——JAVA篇  网址:http://www.javass.cn  电话:010-68434236

你可能感兴趣的:(java,职场,语法,休闲)