Java的迴圈語句
阿新 • • 發佈:2018-12-03
一、while 迴圈
while(迴圈條件){
迴圈操作語句
}
* 迴圈3要素: 變數的初值、變數的判斷、變數的更新
* 缺少迴圈變數的更新,迴圈將一直進行下去
public class WhlieDemo { public static void main(String[] args) { int i = 1; //迴圈變數的初值 while(i <= 10){ //迴圈的條件判斷 System.out.printf("第%d次\n",i); i++; //迴圈變數的更新 } } }
//View Code使用迴圈計算1-100的累加和 public class SumDemo { public static void main(String[] args) { int i = 1; int sum = 0; while(i <= 100){ sum += i; i++; } System.out.print(sum); } }
//計算輸入的整型數字中每位數字之和 public class SumDemo {View Codepublic static void main(String[] args) { //得到要計算的整型數字 Scanner input = new Scanner(System.in); System.out.print("請輸入一個整型數字:"); //宣告相關變數 int sum = 0; int num = input.nextInt(); //迴圈計算累加和 while(num > 0){ sum += num % 10; //取個位加到sum num /= 10; //更新num 去掉個位 } //列印結果 System.out.print("各位數字之和:"+sum); input.close(); } }
//使用迴圈實現三次密碼輸入錯誤退出系統 public class SumDemo { public static void main(String[] args) { final String PASSWORD = "123456"; //定義並初始化密碼 int i = 0; //控制迴圈次數變數 Scanner input = new Scanner(System.in); while(i < 3){ i++; System.out.print("請輸入密碼:"); String password = input.nextLine(); if(PASSWORD.equals(password)){ //輸入正確 System.out.println("密碼輸入正確,歡迎登陸……"); break; }else{if(i == 3){ //錯誤三次 System.out.println("輸入三次自動退出"); System.exit(0); }else{ //3次之前輸入錯誤 System.out.println("輸入錯誤你還有"+(3-i)+"次機會"); } } } input.close(); } }View Code
//某寶雙十一2015年的交易額為800億,每年遞增25% //問:按此速度哪年交易額達到2000億? public class SumDemo { public static void main(String[] args) { int year = 2015; //年份 double money = 800; //交易額 while(money <= 2000){ money *= 1.25; year++; } System.out.printf("%d年,交易額達到2000億,交易額為%.2f億元",year,money); } }View Code
二、do-while 迴圈
do{
迴圈語句
}while(迴圈條件);
先執行再判斷 ,至少執行一次
//選擇登陸 public class WhlieDemo{ public static void main(String[] args){ Scanner input = new Scanner(System.in); String answer = "y"; do{ System.out.println("是否繼續? (y/n)"); answer = input.nextLine(); }while(!"y".equalsIgnoreCase(answer)); //如果不是y就 重新輸入 equalsIgnoreCase為忽略大小寫 System.out.println("登陸中……"); input.close(); } }View Code
三、for 迴圈
基本語法
for(表示式1;表示式2;表示式3)
{
語句:
}
表示式1 為迴圈變數賦初值 可省略
表示式2 迴圈條件 可省略
表示式3 更新迴圈變數 可省略
分號, 用於分隔三個表示式 不可省略 for(;;) 是死迴圈
public class ForDemo { public static void main(String[] args) { for(int i = 0; i < 5; i++) { System.out.println("i"); } } }
//求遊戲工會玩家的平均戰鬥力 //錄入至少3位玩家的戰力 public class ForDemo{ public static void main(String[] args){ Scanner input = new Scanner(System.in); int fight; //戰鬥力 double sum = 0; //戰力和 System.out.print("請輸入玩家的數量:"); int player = input.nextInt(); //輸入玩家數量 for(int i = 1; i <= player; i++) { System.out.printf("請輸入第%d個玩家的戰鬥力:",i); fight = input.nextInt(); sum += fight; } System.out.printf("%d個玩家的平均戰鬥力為:%.2f",player,(sum / player)); input.close(); } }View Code
//列印月曆 public class ForDemo{ public static void main(String[] args){ //1.輸出星期 System.out.println("星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t星期天"); //2.輸出日期 System.out.print("\t"); for(int i = 1; i <= 31; i++) { System.out.print(i); //列印日期 if((i + 1) % 7 == 0){ System.out.print("\n"); }else{ System.out.print("\t"); } } } }View Code
四、break 、continue
使用場合
break可用於switch結構和迴圈結構中
continue只能用於迴圈結構中
作用(迴圈結構中)
break語句終止某個迴圈,程式跳轉到迴圈塊外的下一條語句。
continue跳出本次迴圈,進入下一次迴圈