程式的結構分類:
順序結構:按照寫程式碼的順序一次執行
選擇結構:根據條件的不同有選擇的執行不同的程式碼
循環結構:在一定條件下反覆執行某一片程式碼
選擇結構:
也叫分支結構根據條件的不同,有選擇的執行某一片程式碼,Java提供了兩種 if結構 switch結構
if分為三種格式:
if的第一種格式
if (條件){
語句區塊
}
執行流程:
判斷條件, 若為真語句否則區塊執行, 語句區塊不執行
程式碼示範:
1 public static void main(String[] args) { 2 System.out.println("开始"); 3 // 定义两个变量 4 int a = 10; 5 int b = 20; 6 7 if (a == b) { 8 System.out.println("a等于b"); 9 }10 11 int c = 10;12 if (a == c) {13 System.out.println("a等于c");14 }15 16 System.out.println("结束");17 }
if的第二種格式:
if(條件){
#語句區塊1
}else{
語句區塊2
}
執行流程:
先判斷條件的真假, 若為真則只執行語句區塊1, 否則, 只執行語句區塊2
程式碼示範:
1 public static void main(String[] args) { 2 System.out.println("开始"); 3 // 判断给定的数据是奇数还是偶数 4 // 定义变量 5 int a = 100; 6 // 给a重新赋值 7 a = 99; 8 9 if (a % 2 == 0) {10 System.out.println("a是偶数");11 } else {12 System.out.println("a是奇数");13 }14 15 System.out.println("结束");16 }
if語句的第三種格式:
if(條件1){
語句區塊1
}else if(條件2){
語句區塊2
}else if## 語句區塊2
}else if (條件3){
語句塊3
}
...
else if(條件n){
語句塊n
}else{
語句區塊n+1
執行流程:
先判斷條件1 ,若為真則執行語句區塊1,執行完畢,跳出整個if結構執行if下面的語句, 否則判斷條件2,
若條件2為真,則執行語句區塊2,執行完畢跳出
整個if結構執行if下面的語句, 如果條件2也為假,則判斷條件3 ,如果為真... 如果判斷到條件n都為假,
則執行else中的語句塊n+1代碼演示:
x和y的關係滿足如下:
x>=3 y = 2x + 1;
-1<=x<3 y = 2x;
x<=-1 y = 2x – 1;
1 public static void main(String[] args) { 2 3 int x = 5; 4 int y; 5 if (x >= 3) { 6 y = 2 * x + 1; 7 } else if (x >= -1 && x < 3) { 8 y = 2 * x; 9 } else {10 y = 2 * x - 1;11 }12 13 System.out.println("y的值是:"+y);14 }</p> <p><strong></strong>選擇結構switch</p> <p><br>語法結構<br><br> switch(表達式){<br> case 目標值1: <br> 語句區塊1<br> break;<br> case 目標值2:<br> 語句塊2<br> 句# breakbreak<br> 語句塊2<br> break;<br> ...<br> case 目標值n:<br> 語句塊n+1<br> break;<br> default:<br> 句區塊n+1 default:<br> 句區塊n+1>#1]##; }</p> <p></p>執行流程:<p> <strong> 先計算表達式的結果A ,使用A順次的與對應的目標值進行比較,一旦發現有相等的目標值, 就停止比較, </strong> 執行對應的語句區塊, 再執行break跳出整個switch結構, 如果從上往下比較都沒有目標值與A相等則執行<br> 語句區塊n+1 結束switch <br><br><br>#要求:<br> <strong> 表達式: 表達式的結果,在JDK1.1~1.4時代表達式的結果的資料型別 只能是char byte short int </strong> 在JDK1.5~1.6時代表達式的結果的資料型別 只能是char byte short int enum(枚舉) <br> 在JDK1.7+時代表達式的結果的資料型別 只能是char byte short int enum(枚舉) ,String(字串)<br><br><br>目標值:<br> <strong> 目標值的資料型別與表達式結果的資料型別要符合</strong> 目標值不能重複<br><br>程式碼演示:<br><strong> 根據鍵盤輸入的數值1、2、3...7輸出對應的星期一、星期二、星期三...星期日</strong><br></p> <pre class="brush:php;toolbar:false"> 1 public static void main(String[] args) { 2 //创建键盘录入对象 3 Scanner sc = new Scanner(System.in); 4 5 //接收数据 6 System.out.println("请输入一个数字(1-7):"); 7 int weekday = sc.nextInt(); 8 9 //switch语句实现选择10 switch(weekday) {11 case 1:12 System.out.println("星期一");13 break;14 case 2:15 System.out.println("星期二");16 break;17 case 3:18 System.out.println("星期三");19 break;20 case 4:21 System.out.println("星期四");22 break;23 case 5:24 System.out.println("星期五");25 break;26 case 6:27 System.out.println("星期六");28 break;29 case 7:30 System.out.println("星期日");31 break;32 default:33 System.out.println("你输入的数字有误");34 break;35 } 36 }#循環結構:
同一件事重複做, 重複執行同一片程式碼
迴圈的構成: 初始化語句
循環出口(條件)
循環體
循環增量
有三種循環結構:
for 循環 while 循環 do...while循環
for循環:
語法格式: for (初始化語句;條件;步進表達式){
循環體
}
執行流程:
第一步: 初始化語句 第二步: 判斷條件, 若條件為真則進入第三步驟,條件為假則進入第五步驟
第三步: 執行迴圈體
第四步: 執行步進表達式進入第二步
第五步: 結束循環
統計「水仙數」共有多少個所謂的水仙數是指一個三位數,其各位數字的立方和等於該數本身。
1 public static void main(String[] args) { 2 //1.定义一个统计变量,初始值为0 3 int count = 0; 4 5 //2.使用for循环获取所有的三位数 6 for(int x=100; x<1000; x++) { 7 //3.拆分三位数的百位,十位,个位 8 int ge = x%10; 9 int shi = x/10%10;10 int bai = x/10/10%10;11 12 //4.利用公式判断这个三位数是否为水仙花数,如果是,统计变量++13 if((ge*ge*ge+shi*shi*shi+bai*bai*bai) == x) {14 count++;15 }16 }17 18 //5.循环结束之后,打印统计结果19 System.out.println("水仙花数共有:"+count+"个");20 }
while 循環:
語法結構:
初始化語句
while(條件){
循環體
步進語句
}
執行流程:
第一步: 初始化語句
第二步驟: 判斷條件, 若條件為真, 則進入第三步驟,如果條件為假, 則進入第五步驟
第三步: 執行迴圈體
第四步驟: 執行步進語句, 再進入第二步驟
第五步: 結束迴圈
##do ... while循環語法格式:
初始化語句
do{
循環體
步進語句
}while(條件)
第一步: 初始化語句 第二步: 執行循環體 第三步: 執行步進語句
第四步: 判斷條件,如果條件為真,進入第二步, 否則進入第五步
第五步: 結束循環
#三種循環的區別:
雖然可以完成同樣的功能,但是還是有小區別:do…while迴圈至少會執行一次迴圈體。 for迴圈和while迴圈只有在條件成立的時候才會去執行迴圈體
for迴圈語句和while迴圈語句的小區別:
就不能再被訪問到了,而while迴圈結束還可以繼續使用,如果你想繼續使用,
就用while,否則推薦使用for。原因是for迴圈結束,變數就從記憶體中消失,###能夠提高記憶體的使用效率。 ###迴圈使用推薦for -- while -- do..while#########跳轉語句可以控制迴圈的執行:###### 有兩種######break :### 在迴圈中使用的時候表示結束目前迴圈 ### 在switch語句中使用表示跳出目前的switch結構######### continue:### 在循環中使用, 表示結束本次循環進行下一次循環### 跳轉語句脫離循環沒有意義###### 此篇就到這裡了本人將持續總結 從Java基礎開始一直到整個javaWeb開發所需的所有技術都會進行總結,有興趣的園友們可以持續關註一起學習!!!####以上是java中的流程控制語句範例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!