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

4.2 條件語句

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

4.2.1 簡單條件語句

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

if(條件)
{
   目的一;
}
else
{
  目的二;
}

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

01        public class Control {                                                            //定義一個Control類
02                public static void main(String[] args) {                                   //主方法
03                        int a = 20;                                                        //定義整型變量a并賦值
04                        int b = 30;                                                        //定義整型變量b并賦值
05                        if (a > b) {                                                    //將整型變量a,b的大小比較得出的布爾型變量作為條件語句的條件
06                                System.out.println("很幸運!");
07                        } else {
08                                System.out.println("很開心");
09                        }
10                }
11        }

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

【運行效果】

很開心!

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

4.2.2 最簡單的條件語句

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

if(條件)
        目的;

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

if(條件)
{
    目的一;
    目的二;
    目的三;
    目的四;
}

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

01        public class Control1                                            //定義一個Control1類
02        {
03            public static void main(String[] args)                       //主方法
04            {
05                int salary=10000;                                        //定義整型變量salary并賦值
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”,條件為真,所以輸出以上三句話。

【運行效果】

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

注意 在有多個目的的程序段中,一般按順序執行,即先執行目的一,再執行目的二,最后執行目的三,依次執行。

4.2.3 適應多條件的條件語句

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

if (條件1)
{
    目的1;
}
else if (條件2)
{
    目的2;
}
else if (條件3)
{
    目的4;
}
else
{
    不滿足以上所有條件,如何辦;
}

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

01        public class Control2 {                                                //定義一個Control2類
02                public static void main(String[] args) {                       //主方法
03                        int achievement = 85;                                  //定義整型變量achievement并賦值
04                        //當achievement等于100,就獎勵一臺筆記本電腦
05                        if (achievement == 100) {
06                                System.out.println("獎勵一臺筆記本電腦");
07                        } else if ((achievement >= 90) && (achievement < 100)) {
08                                //當achievement大于90小于100,就獎勵一個MP4
09                                System.out.println("獎勵一個MP4");
10                        } else if ((achievement >= 80) && (achievement < 90)) {
11                                //當achievement大于80小于90,就獎勵一塊網卡
12                                System.out.println("獎勵一塊網卡");
13                        } else if ((achievement >= 60) && (achievement < 80)) {
14                                //當achievement大于60小于80,不給予獎勵
15                                System.out.println("不給予任何獎勵");
16                        } else {
17                                //當achievement小于60,放假回學校補習
18                                System.out.println("放假回學校補習");
19                        }
20                }
21        } 

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

【運行效果】

獎勵一塊網卡

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

圖4-1 if條件語句流程圖

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

圖4-2 實例4-5的條件流程圖

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

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

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

圖4-3 實例4-6的條件流程圖

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

01        public class Control3 {                                 //定義一個Control3類
02                public static void main(String[] args) {        //主方法
03                        //創建成員變量
04                        int Chinese = 90;
05                        int English = 75;
06                        int Math = 90;
07                        int Art = 85;
08                        //獲取平均值
09                        double Avg = (Chinese + English + Math + Art) / 4;
10                        if ((Avg > 90) && (Avg <= 100)) {
11                                //如果是大于90小于等于100則是優秀
12                                System.out.println("這個學生的所有功課的平均分是:" + Avg);
13                                System.out.println("這個學生的成績應得A,是優秀");
14                        } else if ((Avg > 80) && (Avg <= 90)) {
15                                //如果是大于80小于等于90則是良好
16                                System.out.println("這個學生的所有功課的平均分是:" + Avg);
17                                System.out.println("這個學生的成績應得B,是良好");
18                        } else if ((Avg > 70) && (Avg <= 80)) {
19                                //如果是大于70小于等于80則是良
20                                System.out.println("這個學生的所有功課的平均分是:" + Avg);
21                                System.out.println("這個學生的成績應得C,是良");
22                        } else if ((Avg > 60) && (Avg <= 70)) {
23                                //如果是大于60小于等于70則是合格
24                                System.out.println("這個學生的所有功課的平均分是:" + Avg);
25                                System.out.println("這個學生的成績應得D,是合格");
26                        } else {
27                                //如果小于60則是不合格
28                                System.out.println("這個學生的所有功課的平均分是:" + Avg);
29                                System.out.println("這個學生的成績應得E,是不合格");
30                        }
31                }
32        }

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

【運行效果】

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

4.2.4 嵌套條件語句

if嵌套語句也是經常使用的多分支判斷語句,在一次判斷之后又有新一層的判斷,接著又有一層判斷,逐漸深入,達到實現復雜判斷的目的,這種多層次判斷相當于多條件判斷,在滿足幾個條件后再執行適當的語句。if嵌套語句的格式是:

if(條件1)
        if(條件2)
                if(條件3)
                        執行語句1;

在if(條件1)成立的情況下繼續判斷直到if(條件3)也成立,再執行語句1。如果其中有一個條件不滿足,則跳出該if嵌套語句,繼續執行嵌套語句之外的代碼。

4.2.5 如何使用條件語句

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

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

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

主站蜘蛛池模板: 司法| 凤阳县| 白朗县| 余庆县| 且末县| 盐津县| 西乌珠穆沁旗| 崇明县| 凤阳县| 繁昌县| 麻城市| 定结县| 阿勒泰市| 商都县| 静安区| 郴州市| 自治县| 罗甸县| 垦利县| 仙桃市| 武冈市| 江门市| 电白县| 平潭县| 勃利县| 南涧| 丰原市| 姚安县| 梧州市| 桐庐县| 乌拉特中旗| 平罗县| 云和县| 岱山县| 读书| 佳木斯市| 恩施市| 甘德县| 临沂市| 铜川市| 武强县|