初学者学JAVA(三)——流程控制

菜鸟学JAVA(三)——流程控制
      在程序设计中,我们常常会通过判断来执行不同的任务,或者循环执行有规律的任务。这样在JAVA中就有了选择控制语句,和循环控制语句。如果没有这些,那么计算机将顺序执行所有语句,这种情况太可怕了。

一、选择控制语句
    选择结构是三大基本结构之一,通过选择控制语句实现。选择结构控制语句的功能是:根据所给条件,判断下一步进行两组或者若干组操作之中的一组。
    1、if语句
     if语句的常用形式:
     if(表达式) {

           操作语句组1;
      
     }else {

           操作语句组2;

      }   
     判断条件是否成立,如果成立执行操作组1;否则执行操作组2.
     例如:
 
    if(a<b) {
           max = b ;
     } else{
         max = a ;
     }

    if语句还有另外一种形式:
    if(判断条件1) 操作组1;
    else if(判断条件2)  操作组2;
               .
               .
               .
    else if(判断条件n)  操作组n;
    else  操作组n+1;

    这是多种条件选择,1成立执行操作组1,否则判断2成不成立,如果成立这吃相操作组2,以此类推。
    例如:
                        
          if(grade > 90) {
                System. out.print( "优秀");
           }
            else if(grade > 80) {
                System. out.print( "良好");
           }
            else if(grade > 60) {
                System. out.print( "一般");
           }
            else {
                System. out.print( "不及格");
           }

   2、switch语句
     switch语句是一种特别的选择结构控制语句,它处理多个分支的情况。
     下面是switch语句的一般形式:
switch(表达式或者否一个变量)
{
    case 1: 操作组1;
               break;
    case 2: 操作组2;
               break;
       .
       .
       .
    case 3: 操作组n;
               break;
    default: 操作组n+1;
}    
          其执行过程:switch语句首先计算表达式的值,当表达式的值和某个case后面的常量相同时,就执行该case里的操作语句,直到遇到break语句为止。
        这里特别注意的是:如果某个case中没有使用break语句,一旦表达式和改case后面常量相同,程序不仅会执行该case里操作组,而且会继续执行后续case中的操作组,直到遇见break语句为止。


二、循环控制语句
    在很多问题中,例如对某数组各元素赋值,多元素求和,排序等,都需要用循环来完成这些需要重复的操作。常见的循环语句有while、do-while和for。

     1、while语句
    while语句常见形式如下:
     while(判断条件表达式) {
          循环体;
     }
     当判断条件表达式是true时,执行气候的循环体;反之,跳出循环,执行接下来的语句。注意:判断条件表达式的结果必须是布尔值
     例如下面用while求1+2+...+100的和。
     
    public void testWhile(){
        int i = 1, s = 0;
        while(i <= 100){
            s = s + i;  
            i++;
       }
           
       System. out.println(s);
    }


    2、do-while语句
    do-while语句和while语句很类似,常见形式如下;
     do {

          循环体;
 
      } while (判断条件表达式);
     与while不同的是,当第一次进入do-while时,它的判断条件为false时,仍然执行一次循环,先执行后判断。
     
     例如下面用do-while求1+2+...+100的和。
   
    public void testDoWhile(){
         int i = 1, s = 0;
         do{
             s = s + i;
             i++;
         } while(i<=100);
           
          System. out.print(s);
     }

    3、for语句
    for语句可以说是程序设计中使用最多的循环语句了,它更简便、灵活。
     常用for循环语句格式是:
     for(初始循环变量; 判断条件 ;循环变量变化) {
     
              循环体;
      }

     其执行过程是:首先执行循环变量的初始化,接着检验判断条件是否成立,若成立则执行循环体,然后修改循环变量,再检验判断条件是否成立,成立则又执行循环体,周而复始。如果不成立结束循环。
    public void testFor(){
            int s = 0;
            for( int i = 0; i <= 100; i++) {
                s = i + s;
           }
           
           System. out.print(s);
     }


   初始循环变量、判断条件、循环变量变化,理论上都是可以为空的,但不管那种形式,都要保证for语句可以正常结束,同时不能掉“;”

三、break与continue语句
     1、break语句
    在前面的switch中已经使用了break语句,break语句用于终止一个语句序列或一个循环,但是在switch中他只能终止case后的语句序列,不影响语句。当放在循环语句中,break可以终止循环,在没有达到循环终止条件的情况下跳出循环,执行之后的语句。
     2、continue语句
    除了break语句外,还有一个很有用的语句continue语句。其作用是跳过循环体后面的语句,接着执行下一次判断条件。

差别:它与break的主要是,break语句结束整个循环,直接执行该循环下的语句,可能还没达到循环终止条件;而       continue语句是结束此次循环的运行,转而判断下次是否可以执行循环,循环还在。

下面举一个这两个语句的用法
//break的用法
      @Test
      public void testBreak() {
            for( int i = 0; i < 4; i++) {
                 if(i != 3) {
                     System. out.println( "i = " +i+ ",for循环继续,break还没有起作用 " );
                } else{
                     System. out.println( "i = " +i+ ",break终止了for循环,哎呀!@! " );
                      break;
                }
           }
     }

//continue的用法
      @Test
      public void testContinue() {
            for( int i = 0; i < 6; i++) {
                 if(i %2 != 0) {
                     System. out.println( "条件成立,continue使后面的语句无法执行" );
                      continue;
                }
                
                System. out.println( "continue没有起作用,结果是:" + i);
           }
     }



    今天复习到这里吧,每天一章不求多,但求理解,虽然非常非常的基础,但每过一遍都会有不同的收获。

   送上一句话,一起共勉。

 
                 生活是一面镜子。你对它笑,它就对你笑;你对它哭,它也对你哭。         

                                                                                     ——高高兴兴过好每一天