Java流程控制,使用者互動scanner和運算結構
Java流程控制(20-12-04)
使用者互動Scanner
通過Scanner類的 next() 與 nextLine() 方法獲取輸入的字串,在讀取前我們一般需要使用hasNext() 與 hasNextLine() 判斷是否還有輸入的資料。
next() 與 nextLine()
next():
1、一定要讀取到有效字元後才可以結束輸入。
2、 對輸入有效字元之前遇到的空白,next() 方法會自動將其去掉。
3、只有輸入有效字元後才將其後面輸入的空白作為分隔符或者結束符。
4、 next() 不能得到帶有空格的字串。
Scanner scanner = new Scanner(System.in); System.out.println("使用next方法接收:"); //判斷使用者有沒有輸入字串 if(scanner.hasNext()){ //使用next方法接收 String str=scanner.next(); System.out.println("輸出內容為:"+str); } //凡是屬於IO流的類如果不關閉會一直佔用資源,良好習慣用完就關! scanner.close();
nextLine():
1、以Enter為結束符,也就是說nextLine()方法返回的是輸入回車之前的所有字元。
2、可以獲得空白。
Scanner scanner = new Scanner(System.in); System.out.println("使用nextLine方法接收:"); //判斷使用者有沒有輸入字串 if(scanner.hasNextLine()){ //使用nextLine方法接收 String str = scanner.nextLine(); System.out.println("輸出內容為:"+str); } //凡是屬於IO流的類如果不關閉會一直佔用資源,良好習慣用完就關! scanner.close();
順序與迴圈結構
順序結構
選擇結構
switch多選擇結構
switch語句中的變數型別可以是:byte、short、int、或char
從JavaSE7開始,支援String型別,同時case標籤必須為字串變數或字面量
迴圈結構
while 迴圈
do while 迴圈
While和do-While的區別:
while先判斷後執行。do-while是先執行後判斷!
Do...while總是保證迴圈體會被至少執行一次! 這是他們的主要差別。
for迴圈
for迴圈語句是支援迭代的一種通用結構,是最有效、最靈活的迴圈結構。
for迴圈執行次數是在執行前就確定的。
增強for迴圈
for(宣告語句 : 表示式) { //程式碼句子 } int[] numbers={10,20,30,40,50}; for(int x:numbers){ System.out.println(x); }
宣告語句:宣告新的區域性變數,該變數的型別必須和陣列元素的型別匹配。其作用域限定在迴圈語句塊,其值與此時陣列元素的值相等。
表示式:表示式是要訪問的陣列名,或者是返回值為陣列的方法。
break 和 continue
break在任何迴圈語句的主體部分,均可用break控制迴圈的流程。break用於強行退出迴圈,不執行迴圈中剩餘的語句。(break語句也在switch語句中使用)
continue語句用在迴圈語句體中,用於終止某次迴圈過程,即跳過迴圈體中尚未執行的語句,接著進行下一次是否執行迴圈的判定。
應用:列印三角形和 debug
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
for (int j=5;j>=i;j--){
System.out.print(" ");//列印空白區域
}
for (int j=1;j<=i;j++){
System.out.print("*");//先列印左邊半個三角形
}
for (int j=1;j<i;j++){
System.out.print("*");//列印右邊半個,算是補齊吧!
}
System.out.println();
}
}
關於debug設定斷點:點選程式碼左側區域,點選“瓢蟲”開始debug,可以看到每個步驟的情況!!!