標(biāo)題: 黑馬程序員——程序控制語(yǔ)句(順序、選擇、循環(huán)) [打印本頁(yè)]

作者: xiaojuan    時(shí)間: 2014-10-15 22:50
標(biāo)題: 黑馬程序員——程序控制語(yǔ)句(順序、選擇、循環(huán))
       一、選擇語(yǔ)句:if條件結(jié)構(gòu):

1:if結(jié)構(gòu),if(判斷條件)語(yǔ)句;如果條件為true就執(zhí)行語(yǔ)句,如果為false就不執(zhí)行;

2:if(判斷條件){執(zhí)行語(yǔ)句1;}else{執(zhí)行語(yǔ)句2;}      如果條件true,就執(zhí)行語(yǔ)句1,否則就執(zhí)行語(yǔ)句2,

這兩個(gè)語(yǔ)句總是要執(zhí)行一個(gè);

3:if(判斷條件){執(zhí)行語(yǔ)句1}else if(判斷條件2){語(yǔ)句2}、、、、、else{語(yǔ)句n}

這是多重if結(jié)構(gòu),如果1不滿足,就判斷2是否滿足,再往下執(zhí)行,如果都不滿足,就執(zhí)行else里面的內(nèi)容;

注意:

如果是if()這種結(jié)構(gòu),它只能控制與它最近的那條語(yǔ)句,成立就執(zhí)行,不成立就跳過(guò),然后順序執(zhí)行下一條語(yǔ)句。

if嵌套機(jī)構(gòu):if(1){       if(2){    }else{      }  }else{             }

如果條件1滿足,再去判斷條件2,滿足執(zhí)行條件2下面的語(yǔ)句,不滿足,執(zhí)行內(nèi)層的else語(yǔ)句;如果條件1不滿足,那么直接就不判斷條件2.執(zhí)行外層的else{   }內(nèi)的語(yǔ)句;

         二、  switch語(yǔ)句:switch就相當(dāng)于開(kāi)關(guān),switch(a)里面的內(nèi)容為判斷條件,它為什么,就去下面的循環(huán)體重去找對(duì)應(yīng)的語(yǔ)句:switch()內(nèi)的判斷內(nèi)容可以為byte ,short,int, char四種類(lèi)型:

case: a 執(zhí)行語(yǔ)句:break;

注意:這里說(shuō)幾個(gè)關(guān)鍵字:

1.break:跳出 當(dāng)case后面的執(zhí)行語(yǔ)句結(jié)束后,如果后面有break;那么直接跳出switch()循環(huán);

另一種用法是在判斷語(yǔ)句中跳出作用域內(nèi)的循環(huán)。

2.default:當(dāng)循環(huán)體中沒(méi)有對(duì)應(yīng)的值時(shí),那么就執(zhí)行default語(yǔ)句,然后在順序執(zhí)行,default的位置不固定,可以放在case語(yǔ)句的上面、中間、或者下面,如果沒(méi)有對(duì)應(yīng)的case值,就執(zhí)行default,然后順序執(zhí)行,即使數(shù)值不對(duì)應(yīng)也可以執(zhí)行;

3.continue:continue用于跳出當(dāng)次循環(huán),如果在循環(huán)語(yǔ)句中執(zhí)行到continue,那么此次循環(huán)結(jié)束,直接進(jìn)入下一次循環(huán)。所以continue或者break后面跟上語(yǔ)句是沒(méi)有什么意義的。

        三、生成隨機(jī)數(shù)的兩種方式:

1.首先要引入包:import java.util.Random;

Random aa=new Random(); //聲明一個(gè)隨機(jī)數(shù)型變量aa,并指向生成的隨機(jī)數(shù)

int num=aa.nextInt(10);//定義一個(gè)變量接受,生成0到9之間的10個(gè)隨機(jī)數(shù);

2.另一種方法是支持多線程的,即 int  num=(int)(Math.random()*10);

      四、循環(huán)結(jié)構(gòu):while結(jié)構(gòu),do   while結(jié)構(gòu)       for循環(huán)結(jié)構(gòu)

1.while(判斷1){   執(zhí)行語(yǔ)句} 如果判斷1為true,就執(zhí)行循環(huán)體中的語(yǔ)句,它是先判斷后執(zhí)行;

2、do {  執(zhí)行語(yǔ)句  }  while(判斷1);先判斷后執(zhí)行,執(zhí)行完判斷為true,繼續(xù)執(zhí)行,不滿足,向下執(zhí)行;

3、for(初始化變量;判斷語(yǔ)句;增量){    循環(huán)體}

先初始化變量,然后判斷語(yǔ)句是否成立,為true就執(zhí)行循環(huán)體,為false,就不執(zhí)行;執(zhí)行完循環(huán)體,執(zhí)行增量,在繼續(xù)判斷,然后為true,就繼續(xù)執(zhí)行,為false就跳出循環(huán),執(zhí)行下面的語(yǔ)句;



     五、總結(jié):

1.if()語(yǔ)句與switch語(yǔ)句的區(qū)別,以及三目運(yùn)算符什么時(shí)候使用問(wèn)題,如果判斷的是數(shù)值,可以使用switch(),看起來(lái)直觀明了,而且比較簡(jiǎn)單;三目運(yùn)算符時(shí)候判斷三個(gè)一下數(shù)值,if結(jié)構(gòu)中可以判斷boolean類(lèi)型的表達(dá)式;

2。while和 do{}while() 的區(qū)別:就是在條件都不滿足的情況下,do{}while();會(huì)執(zhí)行一次,而while不會(huì)執(zhí)行;

3, 什么時(shí)候使用for,什么時(shí)候使用while,在明確循環(huán)次數(shù)的情況下,盡量使用for循環(huán),但是能用for循環(huán)實(shí)現(xiàn)的功能,while(){}循環(huán)也一定能實(shí)現(xiàn);

4.累加思想:求和:首先定義一個(gè)變量,并進(jìn)行初始化,int   sum=0;然后在for循環(huán)中對(duì)其進(jìn)行累加

for(;;)(sum+=i;i++;)

5.計(jì)數(shù)思想:也是和累加思想異曲同工。int count=0;然后在for循環(huán)每執(zhí)行一次,就計(jì)數(shù)一次,退出循環(huán)時(shí)輸出就可以了。

6.for循環(huán)的嵌套思想:

(1):九九乘法表,外循環(huán)的for控制行數(shù),內(nèi)循環(huán)的for控制列數(shù)

for(int i=1;i<=9;i++){

         for(int j=1;j<=i:j++){

          System.out.println(j+"*"+i+"="+j*i);

}

}

(2):打印三角型,上三角、下三角、還有冒泡排序,選擇排序都要用到for循環(huán)的嵌套。






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1