04.選擇語句與循環語句
阿新 • • 發佈:2017-06-25
沒有 if 語句 int() demo div exti 對象 sys ges
一、鍵盤錄入數據
源碼程序:
/* 為了是程序更靈活,引入鍵盤錄入模塊 如何實現鍵盤錄入? A:導包 格式: import java.util.Scanner B:創建鍵盤錄入對象 格式: Scanner sc = new Scanner(System.in) C:通過對象獲取數據 格式: int x = sc.nextInt() */ import java.util.Scanner;class ScannerDemo { public static void main(String[] args) { //創建鍵盤錄入對象 Scanner sc = new Scanner(System.in); System.out.println("請輸入一個整數:"); int x = sc.nextInt(); System.out.println("你輸入的數據是:"+x); } }
運行結果:
二、流程控制語句
- 順序結構
- 選擇結構
- 循環結構
1.Java提供了兩種選擇結構語句:
- if 語句
- switch 語句
if 語句的三種格式:
格式1:
/* if語句的格式: if(比較表達式) { 語句體; } 執行流程: 先計算比較表達式的值,看其返回值是true還是false。 如果是true,就執行語句體; 如果是false,就不執行語句體; */
舉例說明:
class IfDemo { public static void main(String[] args) {int x = 10; if(x == 10) { System.out.println("x等於10"); } if(x == 20) { System.out.println("x等於20"); } System.out.println("over"); } }
格式2:
/* if語句格式2: if(比較表達式) { 語句體1; }else { 語句體2; } 執行流程: 首先計算比較表達式的值,看其返回值是true還是false。 如果是true,就執行語句體1; 如果是false,就執行語句體2; 註意:else後面是沒有比較表達式的,只有if後面有。 */
舉例說明:
class IfDemo { public static void main(String[] args) { //判斷兩個數據是否相等 int a = 10; int b = 20; if(a == b) { System.out.println("a等於b"); }else { System.out.println("a不等於b"); } } }
格式3:
/* if語句的格式3: if(比較表達式1) { 語句體1; }else if(比較表達式2) { 語句體2; }else if(比較表達式3) { 語句體3; } ... else { 語句體n+1; } 執行流程: 首先計算比較表達式1看其返回值是true還是false, 如果是true,就執行語句體1,if語句結束。 如果是false,接著計算比較表達式2看其返回值是true還是false, 如果是true,就執行語句體2,if語句結束。 如果是false,接著計算比較表達式3看其返回值是true還是false, ... 如果都是false,就執行語句體n+1。 */
舉例說明:
//需求:鍵盤錄入一個成績,判斷並輸出成績的等級。 /* 90-100 優秀 80-90 好 70-80 良 60-70 及格 0-60 不及格 */
import java.util.Scanner; class IfDemo { public static void main(String[] args){ //創建鍵盤錄入對象 Scanner sc = new Scanner(System.in); //錄入數據 System.out.println("你輸入的成績是:"); int x = sc.nextInt(); if(x>=90 && x<=100) { System.out.println("優秀"); }else if(x>=80 && x<90) { System.out.println("好"); }else if(x>=70 && x<80) { System.out.println("良"); }else if(x>=60 && x<70) { System.out.println("及格"); }else if(x>=0 && x<60) { System.out.println("不及格"); }else { System.out.println("你輸入成績有誤!"); } } }
運行結果:
switch 語句
/* switch語句格式: switch(表達式) { case 值1: 語句體1; break; case 值2: 語句體2; break; ... default: 語句體n+1; break; } switch語句的註意事項: A:case後面只能是常量,不能是變量,而且,多個case後面的值不能出現相同的 */
import java.util.Scanner; class SwitchDemo { public static void main(String[] args) { //創建鍵盤錄入對象 Scanner sc = new Scanner(System.in); //控制鍵盤錄入數據 System.out.println("請輸入一個數據(1-7):"); int week = sc.nextInt(); //3 //定義常量 //int number = 3; //然後把case後面的值改為number,就會報錯 //switch判斷語句 switch(week) { case 1: System.out.println("星期一"); break; case 2: System.out.println("星期二"); break; case 3: System.out.println("星期三"); break; case 4: System.out.println("星期四"); break; case 5: System.out.println("星期五"); break; case 6: System.out.println("星期六"); break; case 7: System.out.println("星期日"); break; default: System.out.println("你輸入的數據有誤"); //break; } } }
2.Java提供了三種循環結構語句:
- for 循環語句
- while 循環語句
- do...while循環語句
for 循環語句舉例說明:
/* 循環語句:for循環,while循環,do...while循環。 for循環格式: for(初始化語句;判斷條件語句;控制條件語句) { 循環體語句; } 執行流程: A:執行初始化語句 B:執行判斷條件語句,看其返回值是true還是false 如果是true,就繼續執行 如果是false,就結束循環 C:執行循環體語句; D:執行控制條件語句 E:回到B繼續。 註意事項: A:判斷條件語句無論簡單還是復雜結果是boolean類型。 B:循環體語句如果是一條語句,大括號可以省略;如果是多條語句,大括號不能省略。建議永遠不要省略。 C:一般來說:有左大括號就沒有分號,有分號就沒有左大括號 需求:請在控制臺輸出10次"HelloWorld" */ class ForDemo { public static void main(String[] args) { //最原始的做法 System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("HelloWorld"); System.out.println("----------"); //這種做法不好,代碼的重復度太高。 //所以呢,我們用循環改進 for(int x=1;x<=10;x++) { System.out.println("HelloWorld"); } } }
while循環語句舉例說明:
/* while循環的基本格式: while(判斷條件語句) { 循環體語句; } 擴展格式: 初始化語句; while(判斷條件語句) { 循環體語句; 控制條件語句; } 通過這個格式,我們就可以看到其實和for循環是差不多的。 for(初始化語句;判斷條件語句;控制條件語句) { 循環體語句; } */ class WhileDemo { public static void main(String[] args) { //輸出10次"HelloWorld" //for語句版 for(int x=0; x<10; x++) { System.out.println("HelloWorld"); } System.out.println("--------------"); //while語句版 int x=0; while(x<10) { System.out.println("HelloWorld"); x++; } } }
總結:上訴代碼可以看出for循環和while循環之間可以進行自由的切換
do...while循環語句舉例說明:
/* do...while循環的基本格式: do { 循環體語句; }while(判斷條件語句); 擴展格式; 初始化語句; do { 循環體語句; 控制條件語句; }while(判斷條件語句); */ class DoWhileDemo { public static void main(String[] args) { //輸出10次HelloWorld。 int x = 0; do { System.out.println("HelloWorld"); x++; }while(x<10); System.out.println("--------------"); //求和1-100 int sum = 0; int a = 1; do { sum += a; a++; }while(a<=100); System.out.println(sum); } }
總結:do...while 和while的區別,以及與for循環之間的自由切換
/* 循環語句的區別: do...while循環至少執行一次循環體。 而for,while循環必須先判斷條件是否成立,然後決定是否執行循環體語句。 那麽,我們一般使用哪種循環呢? 優先考慮for,其次考慮while,最後考慮do...while */
三、跳轉語句
- break(跳出單層循環)
- continue(跳出一次循環,進入下次循環)
- return(結束整個方法)
舉例說明:
04.選擇語句與循環語句