?一、流程控制
1.1?順序結(jié)構(gòu):根據(jù)代碼編寫的順序,從上到下運(yùn)行
二、判斷語句
2.1?判斷語句1--if
2.1.1?第一種格式:
?? ??? ?if(關(guān)系表達(dá)式){?
?? ?? ??? ??? ??語句體;?
?? ??? ?}
?? ??? ?執(zhí)行流程:
?? ??? ?首先判斷關(guān)系表達(dá)式看其結(jié)果是true還是false?
?? ??? ?如果是true就執(zhí)行語句體?
?? ??? ?如果是false就不執(zhí)行語句體
2.1.2?第二種格式:
?? ??? ?if(關(guān)系表達(dá)式) {
?? ??? ??? ??? ??語句體1;?
?? ??? ?}else {?
?? ??? ??? ??? ??語句體2;
?? ??? ??}
?? ??? ?執(zhí)行流程:首先判斷關(guān)系表達(dá)式看其結(jié)果是true還是false?
?? ??? ?如果是true就執(zhí)行語句體1?
?? ??? ?如果是false就執(zhí)行語句體2
2.1.3?第三種格式:
?? ??? ?if (判斷條件1) {
?? ??? ??? ??執(zhí)行語句1;?
?? ?? ??} else if (判斷條件2) {
?? ??? ??? ??執(zhí)行語句2;?
?? ??? ?}
?? ??? ??...?
?? ??? ?}else if (判斷條件n) {
?? ??? ???? ?執(zhí)行語句n;?
?? ??? ?} else {
?? ??? ??? ??執(zhí)行語句n+1;?
?? ??? ?}
?? ??? ?執(zhí)行流程:首先判斷關(guān)系表達(dá)式1看其結(jié)果是true還是false?
?? ??? ?如果是true就執(zhí)行語句體1
?? ??? ?如果是false就繼續(xù)判斷關(guān)系表達(dá)式2看其結(jié)果是true還是false?
?? ??? ?如果是true就執(zhí)行語句體2?
?? ??? ?如果是false就繼續(xù)判斷關(guān)系表達(dá)式…看其結(jié)果是true還是false?
?? ??? ?…?
?? ??? ?如果沒有任何關(guān)系表達(dá)式為true,就執(zhí)行語句體n+1。
三、選擇語句
3.1?選擇語句--switch
3.1.1?switch語句格式:
?? ??? ??switch(表達(dá)式) {
?? ??? ??? ??? ??case 常量值1:?
?? ??? ??? ??? ??? ??? ?語句體1;?
?? ??? ??? ??? ??? ??? ?break;?
?? ??? ??? ?? ? ?case 常量值2:?
?? ??? ??? ??? ??? ??? ?語句體2;?
?? ??? ??? ??? ??? ??? ?break;?
?? ??? ??? ??? ??...
?? ??? ??? ??? ??default:?
?? ??? ??? ??? ??? ??? ?語句體n+1;?
?? ??? ??? ??? ??? ??? ?break;?
?? ?? ? ??}
?? ??? ?執(zhí)行流程:首先計(jì)算出表達(dá)式的值
?? ??? ?其次,和case依次比較,一旦有對(duì)應(yīng)的值,就會(huì)執(zhí)行相應(yīng)的語句,在執(zhí)行的過程中,? ? ? ? ? 遇到break就會(huì)結(jié)束。?
?? ??? ?最后,如果所有的case都和表達(dá)式的值不匹配,就會(huì)執(zhí)行default語句體部分,然后程 ?? ??? ?序結(jié)束掉。
3.1.2 注意事項(xiàng):
1、switch語句中,表達(dá)式的數(shù)據(jù)類型,可以是byte,short,int,char,enum(枚舉),JDK7后可以接收字符串。
2、在switch語句中,如果case的后面不寫break,將出現(xiàn)穿透現(xiàn)象,也就是不會(huì)在判斷下一個(gè)case的值,直接向后運(yùn)行,直到遇到break,或者整體switch結(jié)束。?因此在編寫switch語句時(shí),必須要寫上break。
四、循環(huán)語句
4.1?循環(huán)結(jié)構(gòu)的基本組成部分,一般可以分成四部分:
?? ??? ?1. 初始化語句:在循環(huán)開始最初執(zhí)行,而且只做唯一一次。
?? ??? ?2. 條件判斷:如果成立,則循環(huán)繼續(xù);如果不成立,則循環(huán)退出。
?? ??? ?3. 循環(huán)體:重復(fù)要做的事情內(nèi)容,若干行語句。
?? ??? ?4. 步進(jìn)語句:每次循環(huán)之后都要進(jìn)行的掃尾工作,每次循環(huán)結(jié)束之后都要執(zhí)行一次。
4.2?循環(huán)語句1--for
4.2.1?for(初始化表達(dá)式;布爾表達(dá)式;步進(jìn)表達(dá)式){?
?? ??? ??? ??? ?循環(huán)體}
?? ?? ? ?執(zhí)行流程:

4.3循環(huán)語句2--while
4.3.1 while循環(huán)語句格式:?
?? ??? ??? ?初始化表達(dá)式
?? ??? ??? ?while(布爾表達(dá)式){
?? ??? ??? ??? ??循環(huán)體
?? ??? ??? ?? ? ?步進(jìn)表達(dá)式
?? ??? ??? ?}
? ??? ? 執(zhí)行流程:

4.4循環(huán)語句3--do...while
4.4.1do...while循環(huán)格式:??
?? ??? ??? ?初始化表達(dá)式
?? ??? ??? ?do{
?? ??? ??? ??? ??循環(huán)體
?? ??? ??? ?? ? ?步進(jìn)表達(dá)式
?? ??? ?? ? ?}while(布爾表達(dá)式);
4.4.2?do...while循環(huán)的特點(diǎn):無條件執(zhí)行一次循環(huán)體,即使我們將循環(huán)條件直接寫成false,也依然會(huì)循環(huán)一次。這樣的循環(huán)具有一定的風(fēng)險(xiǎn)性,因此初學(xué)者不建議使用do...while循環(huán)。
4.5?for和while的小區(qū)別:控制條件語句所控制的那個(gè)變量,在for循環(huán)結(jié)束后,就不能再被訪問到了,而while循環(huán)結(jié)束還可以繼續(xù)使用,如果你想繼續(xù)使用,就用while,否則推薦使用for。原因是for循環(huán)結(jié)束,該變量就從內(nèi)存中消 失,能夠提高內(nèi)存的使用效率。 在已知循環(huán)次數(shù)的時(shí)候使用推薦使用for,循環(huán)次數(shù)未知的時(shí)推薦使用while。
4.6?跳出語句
4.6.1?break使用場(chǎng)景:終止switch或者循環(huán)
4.6.2?continue使用場(chǎng)景:結(jié)束本次循環(huán),繼續(xù)下一次的循環(huán)
五、擴(kuò)展知識(shí)點(diǎn)
5.1 死循環(huán):也就是循環(huán)中的條件永遠(yuǎn)為true,死循環(huán)是永不結(jié)束的循環(huán)。例如:while(true){}。
5.2?嵌套循環(huán):是指一個(gè)循環(huán)的循環(huán)體是另一個(gè)循環(huán)。比如for循環(huán)里面還有一個(gè)for循環(huán),就是嵌套循環(huán)??偣驳难h(huán)次數(shù)=外循環(huán)次數(shù)*內(nèi)循環(huán)次數(shù)