Java流程控制語句有哪些舉例詳解
流程控制語句
順序控制
從左邊往右邊去執(zhí)行,從上面往下面逐行的去執(zhí)行程序,不能先使用,在聲明
//正確的順序 int i = 10; System.out.println(i); //錯誤的順序 System.out.println(i); int i = 20;
分支控制
- 單分支
- if(條件表達式){當(dāng)條件表達式為true的時候才會執(zhí)行的代碼}
int i = 10;
if(i == 10){
System.out.println("i等于10");}//輸出i等于10
- 雙分支
- 為了使程序有多條路可以執(zhí)行,所以就有了雙分支
if(條件表達式){
當(dāng)條件表達式為true的時候才會執(zhí)行的代碼
}else{
當(dāng)條件表達式為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){
當(dāng)條件表達式1為true的時候才會執(zhí)行的代碼
} else if(條件表達式2){
當(dāng)條件表達式2為true的時候才會執(zhí)行的代碼}else{
當(dāng)條件表達式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ù)類型,應(yīng)該是byte,short,int,char,enum(枚舉),String(字符串)
2.case子句中的值必須是常量,而不能是變量名或不確定的表達式值
3.同一個switch語句,所有case子句中的常量值互不相同
4.break語句用來在執(zhí)行完一個case分支后使程序跳出switch語句塊;如果沒有break,程序會順序執(zhí)行到switch結(jié)尾
5.default子句是可任選的。同時,位置也是靈活的。當(dāng)沒有匹配的case時,執(zhí)行default
語法:
switch(表達式){
case 常量1:
當(dāng)表達式的值等于常量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)
鍵盤輸入
- 步驟:
導(dǎo)包: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)方法用于接收一個字符
關(guān)閉資源: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ù)呢?
總結(jié)
到此這篇關(guān)于Java流程控制語句有哪些的文章就介紹到這了,更多相關(guān)Java流程控制語句內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot自定義Starter實現(xiàn)流程詳解
SpringBoot中的starter是一種非常重要的機制,能夠拋棄以前繁雜的配置,將其統(tǒng)一集成進starter,應(yīng)用者只需要在maven中引入starter依賴,SpringBoot就能自動掃描到要加載的信息并啟動相應(yīng)的默認配置。starter讓我們擺脫了各種依賴庫的處理,需要配置各種信息的困擾2022-09-09
Spring?中使用?Validation?注解校驗參數(shù)的方法
本文介紹了如何在Spring中使用Validation注解進行參數(shù)校驗,包括引入依賴、簡單示例、常見校驗注解分類與說明、分組校驗和自定義校驗,通過這些方法,可以方便地對Controller、Service等層面的參數(shù)進行校驗,確保數(shù)據(jù)的合法性和一致性,感興趣的朋友跟隨小編一起看看吧2024-11-11
SpringBoot+Dubbo+Zookeeper實現(xiàn)簡單分布式開發(fā)的應(yīng)用詳解
這篇文章主要介紹了SpringBoot+Dubbo+Zookeeper實現(xiàn)簡單分布式開發(fā)的應(yīng)用詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
使用SpringBoot和JPA實現(xiàn)批量處理新增、修改
最近項目需要在JPA中使用ID進行批量更新,所以下面這篇文章主要給大家介紹了關(guān)于使用SpringBoot和JPA實現(xiàn)批量處理新增、修改的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-06-06

