標(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