for迴圈,break continue,java方法詳解
阿新 • • 發佈:2022-01-14
控制語句:把語句組合乘能完成一定功能的小邏輯模組。它分為三類:順序、選擇和迴圈
順序結構
先執行 a 再執行 b 的邏輯
條件判斷結構(選擇結構)
“如果……,則……”的邏輯
if單分支結構
if(布林表示式){
語句塊
}
1.如果if語句不寫{},則if只作用於第一條語句
2.強烈建議,任何時候都加上{},有可能後期改版需要加上一些其他語句
【示例】擲骰子游戲
/** 遊戲規則 * 1.如果三次的值加起來大於15,則手氣不錯 * 2.如果在10~15之間,一般 * 3.如果在10一下,不怎麼樣 */ public class Test { public static void main(String[] args){ int i = (int)(Math.random() * 6) + 1; int j = (int)(Math.random() * 6) + 1; int k = (int)(Math.random() * 6) + 1; int count = i + j + k; if(count >= 15){ System.out.println("喲,手氣不錯!"); } if(count >= 10 && count < 15){ System.out.println("手氣一般"); } if(count < 10){ System.out.println("手氣不行"); } System.out.println("得分\t" + count); } }
if—else雙分支結構
if(布林表示式){
語句塊1; // 如果布林表示式值為 true 執行 語句塊1
}else{
語句塊2; // 如果布林表示式值為 false 執行 語句塊2
}
【示例】
public class Test { public static void main(String[] args){ int i = (int) (Math.random() * 6) + 1; System.out.println(i); if(i > 3){ System.out.println("較大的數"); }else{ System.out.println("較小的數"); } // 與下面的語句同理 System.out.println(i > 3 ? "較大的數" : "較小的數"); } }
if—else if—else多分支結構
if(布林表示式1){
語句塊1;
}else if(布林表示式2){
語句塊2;
}……
else if(布林表示式3){
語句塊n;
}else{
語句塊n + 1;
}
【示例】擲骰子游戲
/** 遊戲規則 * 1.如果三次的值加起來大於15,則手氣不錯 * 2.如果在10~15之間,一般 * 3.如果在10一下,不怎麼樣 */ public class Test { public static void main(String[] args){ int i = (int)(Math.random() * 6) + 1; int j = (int)(Math.random() * 6) + 1; int k = (int)(Math.random() * 6) + 1; int count = i + j + k; if(count >= 15){ System.out.println("喲,手氣不錯!"); }else if(count >= 10){ // 10~15 System.out.println("手氣一般"); }else{ System.out.println("手氣不行"); } System.out.println("得分\t" + count); } }
swichd多分支結構(多值情況)
swich(表示式){
case 值1:
語句塊1;
break;
case 值2:
語句塊2;
break;
…………
default:
預設語句塊; //default 可有可不有
}
1. swich 會根據表示式的值從相匹配的 case 標籤處開始執行,一直執行到 break 處或者是 swich 的末尾。
如果表示式的值與任一 case 的值不匹配,則進入 default 語句
2. swich中表達式的值可以是 int /(short / byte / char / 這三個可以轉 成 int) 列舉 / 字串, 但是 long 不行
【示例】
import java.util.Scanner; // 匯入類
public class Test {
public static void main(String[] args){
Scanner s = new Scanner(System.in);
System.out.println("請輸入您要判斷的月份:(1~12)");
int month = s.nextInt();
switch (month){
case 12:
case 1:
case 2:
System.out.println("冬季");
break;
case 3:
case 4:
case 5:
System.out.println("春季");
break;
case 6:
case 7:
case 8:
System.out.println("夏季");
break;
case 9:
case 10:
case 11:
System.out.println("秋季");
break;
default:
System.out.println("錯誤輸入!");
}
}
}
迴圈結構
迴圈結構分為兩大類:當型 和 直到型
當型
當布林表示式條件為true,反覆執行某語句,當布林表示式的值為false是才停止迴圈 比如 while 和 for 迴圈
while迴圈
while(布林表示式){
迴圈體;
}
1.迴圈剛開始時,會計算一次布林表示式的值,為true就執行迴圈體,每一次額外的迴圈都會在開始前重新計算一次。
2.應有一次使布林表示式值為false或者迴圈體內有語句跳出迴圈,使迴圈有窮,否則會出現死迴圈
public class Test {
public static void main(String[] args){
int i = 0;
// 列印三次 Hello
while(i < 3){
System.out.println("Hello");
i ++; // 少了這一行會死迴圈
}
}
}
for迴圈
for(初始表示式; 布林表示式;迭代因子){
迴圈體;
}
1.初始部分設定:迴圈變數的初值
2.條件判斷部分為:布林表示式
3.迭代因子:控制迴圈變數的增減
【示例】
public class Test {
public static void main(String[] args){
// 列印三次 Hello
int sum = 0;
for(int i = 0; i <= 100; i ++){ // 和c與c ++相似
sum += i;
}
System.out.println(sum);
}
}
直到型(do—while)
先執行某語句,再判斷布林表示式,如果為true,再執行某語句,如此反覆, 直到布林表示式條件為false時停止迴圈, 比如 do—while 迴圈
do{
迴圈體;
}while(布林表示式); // 不要忘記這邊還有個分號
【示例】
public class Test {
public static void main(String[] args){
int i = 0;
int sum = 0;
do{
sum += i;
i ++;
}while(i <= 100);
System.out.println(sum);
}
}