java控制流程(一)
阿新 • • 發佈:2020-09-04
一、scanner:
scanner可以獲取使用者的輸入的資訊
scanner的初始化:
//匯入的包
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
//建立scanner物件
Scanner scan=new Scanner(System.in);
}
}
使用scanner:
import java.util.Scanner; public class Test { public static void main(String[] args) { //建立scanner物件 Scanner scan=new Scanner(System.in); //提示請輸入 System.out.println("請輸入:"); //用來接收輸入的值 String str=scan.next(); //打印出剛剛使用者輸入的值 System.out.println("輸入的值為"+str); } }
執行以上程式輸出的值:
請輸入:
hello world
輸入的值為hello world
二、順序結構:
-
根據程式碼的編寫,從上往下,以此執行
-
順序結構的流程:
- 開始----->步驟A----->步驟B----->步驟C----->結束
public calss Test(){ public void medth(){ //順序執行,根據編寫的順序,從上到下執行 System.out.println("1---步驟A"); System.out.println("2---步驟B"); System.out.println("3---步驟C"); //輸出結果為: //1---步驟A //2---步驟B //3---步驟C } }
三、選擇結構
if(這裡只能是表示式 返回值為boolean
-
if 單選擇結構
可以處理單一或者組合條件的情況
語法:
if(選擇條件){ 滿足條件執行的程式碼 }
例項:
public class Test(){ public void medth(){ //定義一個變數 int a=1; //a>0是選擇條件 如果a>0為true 則執行大括號裡的程式碼 if(a>0){ //滿足條件執行的程式碼體 System.out.println("選擇條件為true!") } } }
-
if-else 雙選擇結構
可以處理簡單的條件分支
語法:
if(選擇條件){ 滿足條件執行的程式碼 }else{ 不滿足條件執行的程式碼 }
例項:
public class Test(){ public void medth(){ //定義一個變數 int a=1; //a>0是選擇條件 如果a>0為true 則執行第一個大括號裡的程式碼 //如果a>0為false 則執行第二個大括號裡面的程式碼 if(a>0){ //滿足條件執行的程式碼體 System.out.println("選擇條件為true!") }else{ //不滿足條件的時候執行的程式碼體 System.out.println("選擇條件為false!“); } } }
-
if-else if-else 多選擇結構
-
多重if選擇結構
可以處理複雜的條件分支情況
語法:
if(選擇條件1){ 滿足條件1執行的程式碼 }else if(選擇條件2){ 不滿足條件1 滿足條件2執行的程式碼 }else{ 不滿足條件2執行的程式碼 }
例項
public class Test(){ public void medth(){ //定義一個變數 int a=20; if(a<18){ //滿足a<18執行的程式碼體 System.out.println("還沒有成年!") }else if(a<30){ //不滿足條a<18 //滿足a<30的時候執行的程式碼體 System.out.println("青年!“); }else{ //以上條件都不滿足的時候 System.out.println("青春一去不復返!"); } } }
-
巢狀if選擇結構
這種結構一般用於複雜的流程控制中
例項:
public class Test(){ public void medth(){ //比賽用的秒數 int a=10; //性別 int sex="男"; //運動會短跑60米 用時小於十秒的就按男女生分組 if(a<10){ if(sex.equals("男")){ System.out.println("這是男子賽"); }else if("女"){ System.out.println("這是女子賽"); } } } }
-
-
switch
當需要要多重分支的時候,並且條件判斷是等值的情況下,使用switch選擇結構代替多重if選擇結構會更加簡單
例項:
public class Test(){ public void medth(){ char letter='A'; switch(letter){ case 'A': System.out.println("這是A"); break; case 'B': System.out.println("這是B"); break; default : System.out.println("如果沒有A和B 這就是C"); } } }
-
switch語句的引數從jdk1.7之後可以使String型別的
-
case穿透
- 如果switch的case中不包含break,即使運行了某個case中的程式碼,仍然會執行其他的case語句
public class Test(){ public void medth(){ char letter='A'; switch(letter){ case 'A': System.out.println("這是A"); case 'B': System.out.println("這是B"); default : System.out.println("如果沒有A和B 這就是C"); } } }
以上的程式碼執行結果為:
可以看出將所有的case語句全部輸出了
這是A 這是B 如果沒有A和B 這就是C
-
break
如果在case語句後面少加了break關鍵字。程式從該case分支繼續執行下一個分支,知道遇見break後或執行完成最後一個分支,switch語句執行結束(如上面的例項程式碼)
break的作用就是跳出switch語句,如果執行的判斷式中有break就,則執行完case語句就跳出switch選擇結構
-
default
default的運用,是當switch語句裡,所有的case語句都不滿足條件時,則執行default語句
-