国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

0005 控制語(yǔ)句

2019-11-14 10:08:37
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

條件控制語(yǔ)句

  if 語(yǔ)句便是一種判斷語(yǔ)句

語(yǔ)法:

if(條件){    條件成立時(shí)執(zhí)行的代碼}

if語(yǔ)句執(zhí)行過(guò)程

  if...else 語(yǔ)句當(dāng)條件成立時(shí),則執(zhí)行 if 部分的代碼塊; 條件不成立時(shí),則進(jìn)入 else 部分。例如,如果一個(gè)月天數(shù)大于30天,則為大月,否則為小月。

語(yǔ)法:

if(條件){    代碼塊1}else{    代碼塊2}

if...else語(yǔ)句執(zhí)行過(guò)程

  多重 if 語(yǔ)句,在條件 1 不滿足的情況下,才會(huì)進(jìn)行條件 2 的判斷,以此向下;當(dāng)前面的條件均不成立時(shí),最終執(zhí)行 else 塊內(nèi)的代碼。

語(yǔ)法:

if(條件1){    代碼塊1}else if(條件2){    代碼塊2}...else {    代碼塊n}

多重if語(yǔ)句

注意:如果 if(或 else if,或 else)條件成立時(shí)的執(zhí)行語(yǔ)句只有一條,是可以省略大括號(hào)的!但如果執(zhí)行語(yǔ)句有多條,那么大括號(hào)就是不可或缺的。

比如:

int days = 31;if(days > 30)    System.out.PRintln("本月是大月");else    System.out.println("本月是小月");

  if 語(yǔ)句是可以在內(nèi)層進(jìn)行嵌套的。嵌套 if 語(yǔ)句,只有當(dāng)外層 if 的條件成立時(shí),才會(huì)判斷內(nèi)層 if 的條件。

語(yǔ)法:

if(條件1){    if(條件2){        代碼塊1    }    else{        代碼塊2    }}else{    代碼塊3}

if的嵌套

  簡(jiǎn)單的練習(xí):小明考了78分,60分以上及格,80分以上為良好,90分以上為優(yōu)秀,60分以下要重考,編寫一段程序,輸出小明的情況吧。

public class ScoreJudge {    public static void main(String[] args){        int score = 78;        if(score >= 60){            if(score >= 80){                if(score >= 90){                    System.out.println("成績(jī)優(yōu)秀");                }                else{                    System.out.println("成績(jī)良好");                }            }            else{                System.out.println("成績(jī)及格");            }        }        else{            System.out.println("需要補(bǔ)考");        }    }}

  switch 語(yǔ)句。當(dāng)需要對(duì)選項(xiàng)進(jìn)行等值判斷時(shí),使用 switch 語(yǔ)句更加簡(jiǎn)潔明了。比如:搖號(hào)搖到1的得一等獎(jiǎng),搖到2的得二等獎(jiǎng),搖到3的等三等獎(jiǎng),搖到其他的沒(méi)有獎(jiǎng)。

語(yǔ)法:

switch(表達(dá)式){    case 值1:        代碼塊1        break;    case 值2:        代碼塊2        break;    ...    default:        默認(rèn)執(zhí)行的代碼塊}

  當(dāng) switch 后表達(dá)式的值和 case 語(yǔ)句后的值相同時(shí),從該位置開始向下執(zhí)行,直到遇到 break 語(yǔ)句或者 switch 語(yǔ)句塊結(jié)束;如果沒(méi)有匹配的 case 語(yǔ)句則執(zhí)行 default 塊的代碼。

public class Draw {    public static void main(String[] args){        int num = 2;        switch(num){        case 1:            System.out.println("恭喜你,獲得了一等獎(jiǎng)");            break;        case 2:            System.out.println("恭喜你,獲得了二等獎(jiǎng)");            break;        case 3:            System.out.println("恭喜你,獲得了三等獎(jiǎng)");            break;        default:            System.out.println("很遺憾,下次再來(lái)");                }    }}

循環(huán)控制語(yǔ)句

  循環(huán)語(yǔ)句中的whiledo...while

while語(yǔ)法:

while(條件){    代碼塊}

while 的執(zhí)行過(guò)程是先判斷,再執(zhí)行。

判斷 while 后面的條件是否成立( true or false )

當(dāng)條件成立時(shí),執(zhí)行循環(huán)內(nèi)的代碼,然后重復(fù)執(zhí)行1.2., 直到循環(huán)條件不成立為止

while的語(yǔ)句流程

do...while語(yǔ)法:

do{    代碼塊}while(條件);

do...while 的執(zhí)行過(guò)程是先執(zhí)行,在判斷(所以循環(huán)內(nèi)的代碼至少會(huì)執(zhí)行一次)

先執(zhí)行一遍循環(huán)操作,然后判斷循環(huán)條件是否成立

如果條件成立,繼續(xù)執(zhí)行1.2.,直到循環(huán)條件不成立為止

do...while的流程

下面的例子:

int i = 0;while(i < 100){    System.out.println("I love ShiYanlou!");    i++;}
int i = 0;do {    System.out.println("I love ShiYanlou!");    i++;} while(i < 100);

  練習(xí):分別用 while 和 do...while 兩種方法,編寫一個(gè)程序,實(shí)現(xiàn) 1-1000 中所有偶數(shù)的和,并輸出。驗(yàn)證一下兩種方法你輸出的結(jié)果是一致嗎?

參考如下:

public class SumOfOdd {    public static void main(String[] args){        int i1 = 1, i2 = 1;        int sum1 = 0, sum2 = 0;        while (i1 <= 1000){     //循環(huán)1000次              if(0 == i1 % 2){   //判斷是否為偶數(shù)                sum1 += i1;    //將偶數(shù)加入到總數(shù)里            }            i1++;              //i自增1        }        System.out.println("用while,1到1000中,所有偶數(shù)的和為:"+sum1);        do {            if (0 == i2 % 2){   //在條件語(yǔ)句中,將數(shù)值寫在前面是為了防止將==寫成了=                    sum2 += i2;               }            i2++;                         } while(i2 <= 1000);            System.out.println("用do...while,1到1000中,所有偶數(shù)的和為:"+sum2);    }}

  最后我們來(lái)學(xué)習(xí)另一個(gè)循環(huán)語(yǔ)句for 語(yǔ)句

語(yǔ)法:

for(循環(huán)變量初始化; 循環(huán)條件; 循環(huán)變量變化){    循環(huán)操作}

for 相比 while 和 do...while 語(yǔ)句結(jié)構(gòu)更加簡(jiǎn)潔易讀,它的執(zhí)行順序:

執(zhí)行循環(huán)變量初始化部分,設(shè)置循環(huán)的初始狀態(tài),此部分在整個(gè)循環(huán)中只執(zhí)行一次

進(jìn)行循環(huán)條件的判斷,如果條件為 true,則執(zhí)行循環(huán)體內(nèi)代碼;如果為 false ,則直接退出循環(huán)

執(zhí)行循環(huán)變量變化部分,改變循環(huán)變量的值,以便進(jìn)行下一次條件判斷

依次重新執(zhí)行2.3.4.,直到退出循環(huán)

for的流程

例如,計(jì)算100以內(nèi)不能被整除的數(shù)之和:

    int sum = 0; // 保存不能被3整除的數(shù)之和    // 循環(huán)變量 i 初始值為 1 ,每執(zhí)行一次對(duì)變量加 1,只要小于等于 100 就重復(fù)執(zhí)行循環(huán)    for (int i = 1;i<=100;i++) {    // 變量 i 與 3 進(jìn)行求模(取余),如果不等于 0 ,則表示不能被 3 整除        if (i % 3 != 0) {             sum = sum + i; // 累加求和        }    }    System.out.println("1到100之間不能被3整除的數(shù)之和為:" + sum);

   在循環(huán)語(yǔ)句里,三種循環(huán)語(yǔ)句可以自身嵌套,也可以相互嵌套,最常見的就是二重循環(huán)。在二重循環(huán)中,外層循環(huán)每執(zhí)行一次,內(nèi)層循環(huán)要執(zhí)行一圈。

注意:可以嵌套多層循環(huán)

比如我想打印

*

**

***

****

這樣的圖形

         // 外層循環(huán)控制行數(shù)        for (int i = 1; i<=4; i++          ) {            // 內(nèi)層循環(huán)控制每行的*號(hào)數(shù)            // 內(nèi)層循環(huán)變量的最大值和外層循環(huán)變量的值相等            for (int j = 1; j<=i; j++             ) {                System.out.print("*");            }            // 每打印完一行后進(jìn)行換行            System.out.println();        }

跳轉(zhuǎn)語(yǔ)句

  break的意思為跳出,經(jīng)常用在條件和循環(huán)語(yǔ)句中,用來(lái)跳出循環(huán)語(yǔ)句的。

例如:

for(int i = 1; i <= 10; i++){    if(0 == i % 3){        break;    }    if(0 == i % 5){        System.out.println("我進(jìn)來(lái)了!")    }}

  上面的代碼中,本來(lái) for 語(yǔ)句會(huì)使得循環(huán)體內(nèi)的代碼循環(huán)10次,但當(dāng)i=3時(shí),進(jìn)入了第一個(gè)條件語(yǔ)句,遇到了break,結(jié)束了循環(huán),而永遠(yuǎn)也進(jìn)不了第二個(gè)條件語(yǔ)句。

  在跳轉(zhuǎn)語(yǔ)句中,還有一個(gè)continuebreak很像,它的作用是跳過(guò)循環(huán)體中剩余的語(yǔ)句執(zhí)行下一次循環(huán)

比如我們要打印10以內(nèi)的所有奇數(shù):

for(int i = 1; i <= 10; i++){    if(0 == i % 2) //判斷i是否為偶數(shù)        continue;  //通過(guò)continue結(jié)束本次循環(huán)    System.out.println(i);}
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 延津县| 五莲县| 桦甸市| 沙河市| 宁远县| 姜堰市| 定安县| 登封市| 仪征市| 阿克陶县| 天津市| 七台河市| 罗甸县| 台南市| 宁国市| 青铜峡市| 永修县| 遂溪县| 张北县| 土默特右旗| 光泽县| 河源市| 博白县| 平远县| 大埔县| 龙岩市| 鲜城| 红原县| 安陆市| 茶陵县| 漠河县| 山丹县| 江北区| 鄂伦春自治旗| 新郑市| 正阳县| 涟源市| 墨脱县| 安宁市| 景德镇市| 防城港市|