Java的流程控制語句主要包括三大類:順序結構、分支結構和循環結構。 java
順序結構語句是按照代碼的順序,從上往下執行。算法
public static void main(String[] args){ System.out.println(1); System.out.println(2); System.out.println(3); }
結果輸出:ide
1
2
3大數據
分支結構主要包括兩種類型:if -- else if -- else、switchui
首先判斷關係表達式看其結果是true仍是false,若是是true就執行語句體 ,若是是false就不執行語句體 。3d
首先判斷關係表達式看其結果是true仍是false,若是是true就執行語句體1,若是是false就執行語句體2。code
首先判斷關係表達式1,看其結果是true仍是false。若是是true就執行語句體1,若是是false就繼續判斷關係表達式2,看其結果是true仍是false。若是是true就執行語句體2,若是是false就繼續判斷關係表達式,看其結果是true仍是false …若是沒有任何關係表達式爲true,就執行語句體n+1。blog
三元運算符格式:(表達式) : 表達式爲True時返回的內容 ? 表達式爲False時返回的內容。if語句能夠實現與三元運算符進行互換:字符串
public static void main(String[] args) { int a = 10; int b = 20; //定義變量,保存a和b的較大值 int max; if(a > b) { max = a; } else { max = b; } //能夠上述功能改寫爲三元運算符形式 max = a > b ? a:b; }
switch(表達式) { case 常量值1: 語句體1; break; case 常量值2: 語句體2; break; ... default: 語句體n+1; break; }
執行流程首先計算出表達式的值,其次和case依次比較,一旦有對應的值,就會執行相應的語句,在執行的過程當中,遇到break就會結束。最後,若是全部的case都和表達式的值不匹配,就會執行default語句體部分,而後程序結束掉。
switch語句中,表達式的數據類型能夠是byte,short,int,char,enum(枚舉),JDK7後能夠接收字符串。
在switch語句中,若是case的後面不寫break,將出現穿透現象,也就是不會在判斷下一個case的值,直接向後運行,直到遇到break,或者總體switch結束。it
循環結構包括三種類型:for循環,while循環,do...while...循環
格式:
for(初始化表達式①; 布爾表達式②; 步進表達式④){ 循環體③ }
執行順序爲1234 --> 234 --> 234 直到2爲false爲止。
格式:
初始化表達式① while(布爾表達式②){ 循環體③ 布爾表達式④ }
執行順序爲1234 --> 234 --> 234 直到2爲false爲止。
格式:
初始化表達式① do{ 循環體③ 布爾表達式④ }while(布爾表達式②);
執行順序爲134 --> 234 --> 234 直到2爲false爲止。
break:跳出整個循環
continue:跳出當前循環
/** * @author RuiMing Lin * @date 2020-03-18 13:35 */ public class Demo1 { public static void main(String[] args) { int count = 0; // 定義一個計數器 for (int i = 2; i <= 200; i++) { // 對2到200之間的數進行遍歷 boolean flag = true; // 設置素數的指示器 for (int j = 2; j < i - 1; j++) { if (i % j == 0) { flag = false; // 若是不是素數則flag爲false break; } } if (flag) { // 若是是素數則輸出 System.out.println(i); count++; } } System.out.println("共有" + count + "個素數"); } }
/** * @author RuiMing Lin * @date 2020-03-18 13:41 */ public class Demo2 { public static void main(String[] args) { int count = 0; for (int i = 100; i <= 1000; i++) { int ge = i % 10; int shi = i / 10 % 10; int bai = i / 100 % 10; if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i) { System.out.println("第" + ++count + "個水仙花數:" + i); } } } }
有錯誤的地方敬請指出,歡迎你們評論區或者私信交流!每日持續更新Java、Python、大數據技術,請你們多多關注!