官术网_书友最值得收藏!

4.2 條件語句

在現實生活中,經常聽人說:如果某人發財了,某人就會做什么。其實這就是程序設計中所說的條件語句。像“如果?”、“就?”、“否則?”,當然這只是很簡單的條件語句,在真正的程序設計中,使用的條件語句要比這復雜得多。

4.2.1 條件語句的種類

在程序設計中,條件語句的標準格式如下:

01   if(條件)
02   {
03       目的一;
04   }
05   else
06   {
07      目的二;
08   }

【實例4.3】掌握格式后,先看一個簡單的程序段。

01  ///將整型變量a,b的大小比較得出的布爾型變量作為條件語句的條件
02  ///通過條件語句來得出不同的輸出結果
03  public class control
04  {
05     public static void main(String[] args)
06     {
07       int a=20;08       int b=30;
09       if (a>b)
10       {
11          System.out.println("很幸運");
12       }
13       else
14       {
15          System.out.println("很開心");
16       }
17     }
18  }

【代碼說明】因為“a=20”而“b=30”,所以“a<b”。在條件語句中,程序代碼的意思是,如果“a>b”,就輸出“很幸運”,如果“a<b”,就輸出“很開心”,所以程序的輸出就是“很開心”。

【運行效果】

很開心

注意

條件表達式是一個關系表達式,其結果是布爾型數據。換句話解釋上面的程序段:如果“a>b”是真,就輸出“很幸運”,否則輸出“很開心”。

在條件語句的程序設計中,有一種最簡單的條件語句,如下所示:

01   if(條件)
02        目的;

如果有很多的目的,也可以采取下列的形式:

01   if(條件)
02   {
03        目的一;
04        目的二;
05        目的三;
06        目的四;
07   }

【實例4.4】下面看一個有關這種類型的條件語句的例子。

01   public class control1
02   {
03       public static void main(String[] args)
04       {
05           int salary=10000;
06           if (salary>500)
07           {
08               System.out.println("想請吃飯!");
09               System.out.println("想請唱歌!");
10               System.out.println("想請喝酒!");
11           }
12
13       }
14   }

【代碼說明】條件語句中判斷“salary>500”是否為真,如果是真就輸出“想請吃飯!想請唱歌!想請喝酒!”,如果是假,就什么都不做。在程序中“salary=10000”,滿足“salary>500”,條件為真,所以輸出以上的三句話。

【運行效果】

想請吃飯!
想請唱歌!
想請喝酒!

注意

在多個目的的程序段中,一般按順序執行,即先目的一,再目的二,再目的三,依次執行下去。

如果出現多種不同的條件,應該如何處理呢?可以使用條件語句中的復雜型,其結構如下:

01   if (條件1)
02   {
03        目的1;
04   }
05   else if (條件2)
06   {
07        目的2;
08   }
09   else if (條件3)
10   {
11        目的3;
12   }
13   else
14   {
15        不滿足以上所有條件,如何辦;
16   }

【實例4.5】根據以上的結構,學習有關這種復雜條件語句的實例,代碼如下所示。

01   ///當achievement等于100,就獎勵一臺筆記本電腦
02   ///當achievement大于90小于100,就獎勵一個MP4
03   ///當achievement大于80小于90,就獎勵一塊網卡
04   ///當achievement大于60小于80,不給予獎勵
05   ///當achievement小于60,放假回學校補習
06   public class control2
07   {
08       public static void main(String[] args)
09       {
10          int achievement=85;
11          if(achievement==100)
12          {
13                 System.out.println("獎勵一臺筆記本電腦");
14          }
15          else if((achievement>=90)&&(achievement<100))
16          {
17                 System.out.println("獎勵一個MP4");
18          }
19            else if((achievement>=80)&&(achievement<90))
20          {
21                 System.out.println("獎勵一塊網卡");
22          }
23            else if((achievement>=60)&&(achievement<80))
24          {
25                 System.out.println("不給予任何獎勵");
26          }
27          else
28          {
29                 System.out.println("放假到學校補習");
30          }
31       }
32   }

【代碼說明】上述代碼可以看出,當有多個不同的條件存在時,處理的結果就不一樣。成績在大于80小于90分之內,就可以獎勵一塊網卡,而成績大于90小于100分,則獎勵一個MP4。在此程序中,開始成績是85分,所以處理的結果就是獎勵一塊網卡。

【運行效果】

獎勵一塊網卡

圖4.1 條件語句流程圖

條件語句已經基本介紹完畢,很重要的一點就是,在程序設計的時候,思路一定要清晰,如何才能有很清晰的思路呢?那就是繪制流程圖。流程圖就是:在程序開發前,為了能夠思路更加清晰,而將整個程序執行的順序流程繪制出來。圖4.1為一個有關條件語句的通用流程圖。

將上面的程序段作為一個實例,繪制其基本的流程圖,如圖4.2所示。鑒于頁面的版面,這里只給出了4種條件,并沒有完全體現出上面案例的5種條件,讀者可自己畫一個完整的流程圖。

圖4.2 一個實例的條件流程圖

針對最復雜的條件語句,在程序設計中,有一種分支語句可以代替復雜條件語句。在實際程序開發過程中,使用條件語句類型比較多的是標準型,而復雜型的一般用分支語句來代替。當然也可以使用復雜型的條件語句。為了與實戰結合,下面看一個稍微復雜的程序段。

【實例4.6】條件:設計一個程序,用于計算語文(90)、英語(75)、數學(90)、藝術(85)四門功課的平均分,并對此學生進行評價。

在編寫程序之前要先繪制流程圖,這樣編程的思路就會非常清晰,本例流程如圖4.3所示。

根據以上的流程圖,開始編寫程序,程序代碼段如下。

01   ///通過計算學生的平均分Avg,得出這個學生的等級
02   ///如果是大于90小于或等于100則是優秀
03   ///如果是大于80小于或等于90則是良好
04   ///如果是大于70小于或等于80則是良
05   ///如果是大于60小于或等于70則是合格
06   ///如果小于或等于60則是不合格
07   public class control3
08   {
09       public static void main(String[] args)
10       {
11          int Chinese=90;
12          int English=75;
13          int Math=90;
14          int Art=85;
15          double Avg=(Chinese+English+Math+Art)/4;
16          if((Avg>90)&&(Avg<=100))
17          {
18                 System.out.println("這個學生的所有功課的平均分是:"+Avg);
19                 System.out.println("這個學生的成績應得A,是優秀");
20          }
21          else if((Avg>80)&&(Avg<=90))
22          {
23                 System.out.println("這個學生的所有功課的平均分是:"+Avg);
24                 System.out.println("這個學生的成績應得B,是良好");
25          }
26          else if((Avg>70)&&(Avg<=80))
27          {
28                 System.out.println("這個學生的所有功課的平均分是:"+Avg);
29                 System.out.println("這個學生的成績應得C,是良");
30          }
31          else if((Avg>60)&&(Avg<=70))
32          {
33                 System.out.println("這個學生的所有功課的平均分是:"+Avg);
34                 System.out.println("這個學生的成績應得D,是合格");
35          }
36          else
37          {
38                 System.out.println("這個學生的所有功課的平均分是:"+Avg);
39                 System.out.println("這個學生的成績應得E,是不合格");
40          }
41       }
42   }

圖4.3 成績代碼條件流程圖

【代碼說明】第16~40行是復雜型的條件語句,判斷了5種情況下不同的輸出結果。第15行定義的是double變量,表示計算后的平均值。

【運行效果】

這個學生的所有功課的平均分是:85.0
這個學生的成績應得B,是良好

4.2.2 如何使用好條件語句

使用好條件語句需要注意以下幾點:

(1)應該繪制流程圖,使編程時思路更加清晰。

(2)編程時,在最簡單形式的條件語句中,可以不使用大括號,因為它不會產生混淆,但建議無論哪種形式的條件語句,都應該使用大括號。

主站蜘蛛池模板: 伊宁市| 汾西县| 吴川市| 宜宾县| 沙坪坝区| 金坛市| 乐东| 信阳市| 遵化市| 门源| 林甸县| 泗阳县| 黄梅县| 大足县| 买车| 松江区| 陇川县| 车险| 盘锦市| 平度市| 台南市| 佛教| 双辽市| 林甸县| 太湖县| 磐安县| 卓资县| 呼伦贝尔市| 天镇县| 肃宁县| 南木林县| 黄大仙区| 天峻县| 丹寨县| 新龙县| 修武县| 西宁市| 宜州市| 眉山市| 宿松县| 楚雄市|