2020.12.22——java流程控制—結構
順序結構
-
java的基本機構就是順序結構,除非特別指明,否則就按照順序一句一句執行
-
順序結構是最簡答的演算法結構
-
語句與語句之間,框與框之間是按照從上到下順序執行的,它是由若干個處理步驟組成的,它是任何一個演算法都離不開的基本演算法結構
選擇結構
-
if單選擇結構
-
判斷一個東西是否可行,然後再執行,可以在這樣一個程式中用if來表示
-
語法
if(布林值表示式){
//如果布林表示式結果為true,將執行的語句
}
-
-
if雙選擇結構
-
在if的基礎上,增加false所執行的操作,即有兩個判斷,就使用if-else 結構
-
語法
if(布林表示式){
//如果布林表示式的值為true
}else{
//如果布林表示式的值為false
}
-
-
if多選擇結構
-
if後面可以跟else if — else 語句,用於應對多種可能的情況
-
需要注意,if語句最多隻能有一個else語句,且處於最後,可以有多個else if ,但必須在else語句之前,一旦一直else if 檢測為true,則其他語句不執行了
-
語法
if(布林表示式 1){
//如果布林表示式 1的值為true執行程式碼
}else if(布林表示式 2){
//如果布林表示式 2的值為true執行程式碼
}else if(布林表示式 3){
//如果布林表示式 3的值為true執行程式碼
}else {
//如果以上布林表示式都不為true執行程式碼
}
-
-
巢狀的if結構
-
即你可以在if-else裡再次使用if-else,但為了程式碼可讀性和簡潔,儘量少用巢狀結構
-
語法
if(布林表示式 1){
////如果布林表示式 1的值為true執行程式碼
if(布林表示式 2){
////如果布林表示式 2的值為true執行程式碼
}
}
-
-
switch多選擇結構
-
多選結構還有一個實現方式就是switch-case語句
-
switch-case語句判斷一個變數與一系列值中的某個值是否相等,每個值為一個分支
-
switch語句中的變數型別可以是:
-
byte,short,int,char
-
從java se7開始,支援字串string
-
同時case標籤必須為字串常量或字面量
switch(expression){
case value :
//語句
break; //可選
case value :
//語句
break; //可選
//你可以有任意數量的case語句
default : //可選
//語句
} -
-
迴圈結構
-
while迴圈
-
while是最基本的迴圈,它的結構為:
while( 布林表示式 ) {
//迴圈內容
} -
只要表示式為true,迴圈就會一直執行下去
-
大多數情況需要迴圈停止下來,需要一個讓表示式失效的方式來結束循壞
-
少數情況需要迴圈一直進行,比如伺服器監聽等
-
迴圈條件一直為true會造成無限迴圈(死迴圈),正常程式設計中應該儘量避免死迴圈,會影響程式效能或造成卡死崩潰
int i = 0;
int t = 0;
while (i < 100) {
i++;
t = t + i;
}
System.out.println(t);//結果:5050,即1+2+3+...+99+100=5050
-
-
do-while迴圈
-
對於while而言,如果不滿足條件則不能進入迴圈,但有時候我們需要既是不滿足條件也至少執行一次
-
do...while和while相似,不同的是do...while至少會執行一次迴圈
do {
//程式碼語句
}while(布林表示式); -
while和do...while的區別在於,while先判斷後執行,do...while先執行後判斷
int x = 10; do{ System.out.print("value of x : " + x ); x++; System.out.print("\n"); }while( x < 20 );
-
-
for迴圈
-
雖然所有迴圈結構都可以用 while 或者 do...while表示,但 Java 提供了另一種語句 —— for 迴圈,使一些迴圈結構變得更加簡單
-
for迴圈語句是支援迭代的一種通用結構,是最有效,靈活的迴圈結構
-
for迴圈的執行次數是在執行前就確定的
for (int i = 1; i <= 9; i++)//外迴圈控制行 { for (int j = 1; j <= i; j++)//內迴圈控制列 { System.out.print(i + "*" + j + "=" + i * j + "\t");//輸出結果 } System.out.println("\n");//換行 } //99乘法表
-
-
增加for迴圈
-
Java5 引入了一種主要用於陣列的增強型 for 迴圈
-
暫時做個瞭解,陣列的時候再重點使用
for(宣告語句 : 表示式) { //程式碼句子 }
-
新宣告的區域性變數必須和陣列中元素型別相同,作用於限定在迴圈中
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers ){
System.out.print( x );
System.out.print(",");
}
-
-
break
-
break 主要用在迴圈語句或者 switch 語句中,用來跳出整個語句塊
-
break 跳出最裡層的迴圈,並且繼續執行該迴圈下面的語句
-
break 跳出迴圈後不再執行迴圈內剩下的語句
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers ) {
// x 等於 30 時跳出迴圈
if( x == 30 ) {
break;
}
System.out.print( x );
System.out.print("\n");
}
-
-
continu
-
在迴圈中continu終止本次迴圈,跳過還未執行的語句,接著進行下次是否執行的判斷
-
continue 適用於任何迴圈控制結構中。作用是讓程式立刻跳轉到下一次迴圈的迭代
-
在 for 迴圈中,continue 語句使程式立即跳轉到更新語句
-
在 while 或者 do…while 迴圈中,程式立即跳轉到布林表示式的判斷語句
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers ) {
if( x == 30 ) {
continue;
}
System.out.print( x );
System.out.print("\n");
}
-
-
goto
-