3.JAVA流程控制
Scanner類
在基礎語法裡,只能打印出簡單的運算結果,並不能實現程式和人的互動。
Java 5 的新特性裡,提供了一個工具類Scanner,便於獲取使用者的輸入。
基本語法
Scanner s = new Scanner(System.in);
建立掃描器,用於接收使用者輸入
判斷語句表示式
if (Scanner.hasNextLine());
先用hasNext()和hasNextLine()方法來判斷字元是否輸入
類似的判斷方法還有:
hasNextByte() //判斷位元組型是否輸入
hasNextInt() //判斷整數型是否輸入
hasNextShort() //判斷Short型是否輸入
hasNextLong() ////判斷Long型是否輸入
hasNextFloat() //判斷Float型是否輸入
hasNextDouble() //判斷Double型是否輸入
hasNextBoolean() //判斷Boolean型是否輸入
next()和nextLine()的區別
next只能獲取不含空格的字元,nextLine可以獲取一行字元
方法獲取表示式
通過Scanner類的next()和nextLine()方法來獲取輸入的字元
String str = next()/nextLine()//獲取字元放在str裡
類似的方法還有:
nextByte() //獲取位元組型
nextShort() //獲取Short型
nextInt() //獲取Int型
nextLong() //獲取Long型
nextFloat() //獲取Float型
nextDouble() //獲取Double型
nextBoolean() //獲取Boolean型
關閉IO流
scanner.close;
如果不關閉,將會佔用資源,養成習慣
if條件語句
if選擇結構一般用來做某些判斷 並滿足某些條件來執行語句。
if單選擇結構
滿足if布林表示式就執行if括號內的語句 否則直接跳到下一步
案例
//if單選擇結構
boolean select = true;
if (select == false){
System.out.println("布林值為false");//滿足條件執行 不滿足則跳出
}
if雙選擇結構
判斷布林表示式的值為true 執行if括號內的語句 否則執行else內的語句。
案例
//if雙選擇結構
int age = 17;
if (age >= 18){
System.out.println("年齡已到成年階段");//滿足條件執行if下語句 不滿足執行else下語句
}else{
System.out.println("年齡未到成年階段!");
}
if多選擇結構
在if雙選擇結構的基礎上 可以在中間加上若干個else if的關鍵字 當滿足布林表示式時 只執行其中一個分支 程式便往下執行。
案例:
//if多選擇結構
int score = 44;
if (score == 60){
System.out.println("成績剛好及格");//滿足哪個分支判斷就執行哪個分支的語句 若都不滿足跳出整個判斷
}else if(score >= 90){
System.out.println("成績優秀");
}else if(score >= 80){
System.out.println("成績良好");
}else if (score >= 60){
System.out.println("成績及格");
}else{
System.out.println("成績不合格");//當以上分支判斷都不滿足最後才執行else語句
}
switch開關邏輯語句
if選擇結構的布林表示式一般用來判斷一個範圍,而switch選擇結構的布林表示式用來判斷一個具體的值。
案例
Scanner in = new Scanner(System.in);
System.out.println("輸入int型別常數");
int a = in.nextInt();
switch(a){
case 1:
System.out.println("結果等於1");//滿足case的常數表示式
break;
case 5:
System.out.println("結果等於5");
break;
default:
System.out.println("輸入不是1和5!");//所有case不匹配才執行 不受順序的影響
while迴圈結構
單個while迴圈結構
順序結構和選擇結構只能執行程式一次 while可以實現將某一段語句執行重複執行,在實際程式設計中引用廣泛。
-
整個while結構可以稱為一個迴圈體
-
如果while中沒有設定條件 將會一直迴圈括號內的語句 稱為死迴圈
-
while中添加了條件 當while迴圈到不滿足條件時 程式才會停止
語法:
while(布林表示式){
//迴圈的語句
};
使用單個while迴圈的案例
int num = 0;
while (num < 10) {
System.out.print(num + " ");//num變數迴圈自增直到不滿足布林表示式後跳出
num++;
}
System.out.println();
do while迴圈結構
do while結構先將迴圈語句執行一次再判斷是否迴圈執行,do寫在前 while寫在後。
語法:
do{
//迴圈的語句
}while(條件表示式);
使用do while迴圈的案例
int a = 1;
do {
a++;
System.out.println("程式碼輸出" + a);//不滿足條件也會執行一次
}while(a > 10);
for迴圈結構
for結構包含了變數宣告 判斷條件和變數值變化三個選項,中間用分號隔開。與while執行效果一致的情況下程式碼跟簡潔
當需要迴圈次數較多時,建議使用for迴圈for迴圈,宣告 條件 更新值 可以為空,沒有固定規範。
執行過程:
定義後,判斷條件,先輸出,再自增,最後更新
//宣告;條件;迭代;
for (int a = 1;a > 1;a++;){
//迴圈的語句
}
使用for迴圈依次輸出1到10的數字
for (int i = 0;i < 10;i++){
System.out.print(i+" ");
}
System.out.println();
增強for迴圈結構
Java 5引用的一個新特性
增強for迴圈主要用於陣列和集合的使用
語法
for(//變數宣告:表示式){//語句塊};
主要用於陣列和集合的迴圈操作