Java流程控制語句有哪些舉例詳解
流程控制語句
順序控制
從左邊往右邊去執(zhí)行,從上面往下面逐行的去執(zhí)行程序,不能先使用,在聲明
//正確的順序 int i = 10; System.out.println(i); //錯誤的順序 System.out.println(i); int i = 20;
分支控制
- 單分支
- if(條件表達式){當條件表達式為true的時候才會執(zhí)行的代碼}
int i = 10; if(i == 10){ System.out.println("i等于10");}//輸出i等于10
- 雙分支
- 為了使程序有多條路可以執(zhí)行,所以就有了雙分支
if(條件表達式){
當條件表達式為true的時候才會執(zhí)行的代碼
}else{
當條件表達式為false的時候才會執(zhí)行的代碼
}
- 為了使程序有多條路可以執(zhí)行,所以就有了雙分支
int i = 20; if(i == 10){ System.out.println("i等于10");}else{ System.out.println("i不等于10"); }//輸出i等于10
- 多分支
- 為了使程序有多條路可以執(zhí)行,所以就有了多分支
if(條件表達式1){
當條件表達式1為true的時候才會執(zhí)行的代碼
} else if(條件表達式2){
當條件表達式2為true的時候才會執(zhí)行的代碼}else{
當條件表達式1和條件表達式2都為false的時候才會執(zhí)行的代碼
}
注意:多分支中,只要有一個條件表達式為true,那么后面的條件表達式就不會執(zhí)行了
- 為了使程序有多條路可以執(zhí)行,所以就有了多分支
int i = 50; if(i == 10){ System.out.println("i等于10");}else if(i == 20){ System.out.println("i等于20");}else{ System.out.println("i不等于10也不等于20");`}//輸出i不等于10也不等于20
- 嵌套分支
在一個分支的內(nèi)部又完整的嵌套了一個分支
int i = 50; if(i > 10){ if(i > 20){ }else{ } }else{ }else{ }
- 選擇語句
- switch case語句,是一種多分支語句,可以用來代替多個if else語句
注意:
1.表達式的數(shù)據(jù)類型,應該是byte,short,int,char,enum(枚舉),String(字符串)
2.case子句中的值必須是常量,而不能是變量名或不確定的表達式值
3.同一個switch語句,所有case子句中的常量值互不相同
4.break語句用來在執(zhí)行完一個case分支后使程序跳出switch語句塊;如果沒有break,程序會順序執(zhí)行到switch結尾
5.default子句是可任選的。同時,位置也是靈活的。當沒有匹配的case時,執(zhí)行default
語法:
switch(表達式){
case 常量1:
當表達式的值等于常量1的時候才會執(zhí)行的代碼
break;
}
- switch case語句,是一種多分支語句,可以用來代替多個if else語句
int i = 10; switch(i){ case 10: System.out.println("i等于10"); break; case 20: System.out.println("i等于20");}
循環(huán)控制
四要素:循環(huán)初始化 循環(huán)條件 循環(huán)變量迭代 循環(huán)體(要循環(huán)的語句)
- for循環(huán)
語法:
for(循環(huán)變量初始化;循環(huán)條件;循環(huán)變量迭代){
循環(huán)的語句
}
for(int i = 1;i <= 10;i++){ System.out.println("i等于" + i); }
- while循環(huán)
語法:
循環(huán)變量初始化;
while(循環(huán)條件){
循環(huán)體;
循環(huán)變量迭代;
}
int i = 1; while(i <= 10){ System.out.println("i等于" + i); i++;//記得迭代,否則會死循環(huán) }
- do…while循環(huán)
- 語法:
循環(huán)變量初始化;
do{ 循環(huán)體;建議更新i值,否則會死循環(huán)}while(循環(huán)條件);
do…while循環(huán)和while循環(huán)的區(qū)別:do…while循環(huán)至少會執(zhí)行一次循環(huán)體,而while循環(huán)不一定會執(zhí)行循環(huán)體
int i = 1; do{ System.out.println("i等于" + i); i++;}//記得更新值,否則會死循環(huán) while(i <= 10);
經(jīng)典循環(huán)案例
- 打印99乘法表
for(int i = 1;i <= 9;i++){ for(int j = 1;j <= i;j++){ System.out.print(j + "*" + i + "=" + (j * i) + "\t"); } System.out.println(); }
- 打印100以內(nèi)的質(zhì)數(shù)
for(int i = 2;i <= 100;i++){ boolean isPrime = true; for(int j = 2;j < i;j++){ if(i % j == 0){ isPrime = false; break;} } if(isPrime){ System.out.println(i); }
- 打印1000以內(nèi)的水仙花數(shù)
for(int i = 100;i <= 999;i++){ int ge = i % 10; int shi = i / 10 % 10; int bai = i / 100; if(i == ge * ge * ge + shi * shi * shi + bai * bai * bai){ System.out.println(i);} }
- 打印菱形
for (int i = 1; i <= 5; i++) { //上半部分 for (int j = 1; j <= 10 - 2 * i; j++) { System.out.print(" "); } for (int k = 1; k <= 2 * i - 1; k++) { System.out.print("* "); } System.out.println(); } for(int i=1;i<=4;i++){ //下半部分 for(int j=1;j<=2*i;j++){ System.out.print(" "); } for(int k=1;k<=10-2*i-1;k++){ System.out.print("* "); } System.out.println(); }
break和continue
- break語句用于終止某個語句塊的執(zhí)行,即跳過循環(huán)體中剩余的語句。
- continue語句用于跳過循環(huán)體中剩余的語句而強制執(zhí)行下一次循環(huán)。
- break語句可以用于以下語句:
- for循環(huán)
- while循環(huán)
- do…while循環(huán)
- switch語句
- continue語句可以用于以下語句:
- for循環(huán)
- while循環(huán)
- do…while循環(huán)
鍵盤輸入
- 步驟:
導包:import java.util.Scanner;
創(chuàng)建對象:Scanner sc = new Scanner(System.in);
接收數(shù)據(jù):int num = sc.nextInt();- nextInt()方法用于接收一個整數(shù)
- next()方法用于接收一個字符串
- nextDouble()方法用于接收一個雙精度浮點數(shù)
- nextFloat()方法用于接收一個單精度浮點數(shù)
- nextBoolean()方法用于接收一個布爾值
- nextByte()方法用于接收一個字節(jié)
- nextShort()方法用于接收一個短整數(shù)
- nextLong()方法用于接收一個長整數(shù)
- next().charAt(0)方法用于接收一個字符
關閉資源:sc.close();
import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("請輸入一個整數(shù):"); int num = sc.nextInt(); System.out.println("您輸入的整數(shù)是:" + num); sc.close(); } }
隨機數(shù)生成
- Math.random()方法用于生成一個0到1之間的隨機數(shù)
- 如何獲取 [a,b] 范圍內(nèi)的隨機整數(shù)呢?
(int)(Math.random() * (b - a + 1)) + a
- 如何獲取 [a,b] 范圍內(nèi)的隨機整數(shù)呢?
總結
到此這篇關于Java流程控制語句有哪些的文章就介紹到這了,更多相關Java流程控制語句內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringBoot自定義Starter實現(xiàn)流程詳解
SpringBoot中的starter是一種非常重要的機制,能夠拋棄以前繁雜的配置,將其統(tǒng)一集成進starter,應用者只需要在maven中引入starter依賴,SpringBoot就能自動掃描到要加載的信息并啟動相應的默認配置。starter讓我們擺脫了各種依賴庫的處理,需要配置各種信息的困擾2022-09-09Spring?中使用?Validation?注解校驗參數(shù)的方法
本文介紹了如何在Spring中使用Validation注解進行參數(shù)校驗,包括引入依賴、簡單示例、常見校驗注解分類與說明、分組校驗和自定義校驗,通過這些方法,可以方便地對Controller、Service等層面的參數(shù)進行校驗,確保數(shù)據(jù)的合法性和一致性,感興趣的朋友跟隨小編一起看看吧2024-11-11SpringBoot+Dubbo+Zookeeper實現(xiàn)簡單分布式開發(fā)的應用詳解
這篇文章主要介紹了SpringBoot+Dubbo+Zookeeper實現(xiàn)簡單分布式開發(fā)的應用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-01-01使用SpringBoot和JPA實現(xiàn)批量處理新增、修改
最近項目需要在JPA中使用ID進行批量更新,所以下面這篇文章主要給大家介紹了關于使用SpringBoot和JPA實現(xiàn)批量處理新增、修改的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-06-06