Java基础(三)选择和循环结构
一、選擇結(jié)構(gòu),條件判斷
1、if 語句
一個 if 語句包含一個布爾表達式和一條或多條語句。如果布爾表達式的值為 true,則執(zhí)行 if 語句中的代碼塊,否則執(zhí)行 if 語句塊后面的代碼。
1 import static java.lang.Math.round; 2 3 public class Conditional { 4 /** 5 * 簡單if語句 6 */ 7 @Test 8 public void testIf() { 9 double random = Math.random(); 10 int num = (int) round(random * 10); //創(chuàng)建一個隨機整數(shù) 11 System.out.println(num); 12 if (num < 3) { 13 System.out.println("num小于3"); 14 } else { 15 System.out.println("num大于等于3"); 16 } 17 } 18 19 /** 20 * 簡單if, else if,else語句 21 */ 22 @Test 23 public void testIf2() { 24 double random = Math.random(); 25 int num = (int) round(random * 10); //創(chuàng)建一個隨機整數(shù) 26 System.out.println(num); 27 if (num < 3) { 28 System.out.println("num小于3"); 29 } else if(num < 6) { 30 System.out.println("num小于6"); 31 }else { 32 System.out.println("num大于等于6"); 33 } 34 } 35 36 /** 37 * 嵌套if語句 38 */ 39 @Test 40 public void testIf3() { 41 double random = Math.random(); 42 int num = (int) round(random * 10); //創(chuàng)建一個隨機整數(shù) 43 System.out.println(num); 44 if (num < 3) { 45 System.out.println("num小于3"); 46 } else if(num < 6) { 47 System.out.println("num小于6"); 48 }else { 49 if(num == 6){ 50 System.out.println("num等于6"); 51 } 52 System.out.println("num大于6"); 53 } 54 } 55 }2、switch 語句
switch 語句判斷一個變量與一系列值中某個值是否相等,每個值稱為一個分支。
語法:
switch(變量或者一個表達式){ case 變量的可能值1: 功能語句;break; case 變量的可能值2: 功能語句;
break; case 變量的可能值3: 功能語句;
break; ........ default:功能語句; }
switch 語句規(guī)則:
-
switch 語句中的變量類型可以是: byte、short、int 或者 char。從 Java SE 7 開始,switch 支持字符串類型了
-
switch 語句可以擁有多個 case 語句。每個 case 后面跟一個要比較的值和冒號。
-
case 后面值的數(shù)據(jù)類型必須和變量的數(shù)據(jù)類型一致,而且只能是常量或者字面常量。
-
當(dāng)變量的值與 case 語句的值相等時,那么 case 語句之后的語句開始執(zhí)行,直到 break 語句出現(xiàn)才會跳出 switch 語句。
-
如果沒有 break 語句出現(xiàn),程序會繼續(xù)執(zhí)行下一條 case 語句,直到出現(xiàn) break 語句。
-
按照case的值的大小順序排列,default放最后,default 在沒有 case 語句的值和變量值相等的時候執(zhí)行。default 分支不需要 break 語句。
二、循環(huán)結(jié)構(gòu)
1、while循環(huán)
先判斷條件,再執(zhí)行語句
2、do-while循環(huán)
先執(zhí)行一次,再判斷條件
1 public class Circulation { 2 /** 3 * while循環(huán)語句 4 * 先判斷,再執(zhí)行 5 */ 6 @Test 7 public void testWhile() { 8 int num = 5; 9 while (num > 0) { 10 System.out.println(num); 11 num -= 1; 12 } 13 } 14 15 /** 16 * do-while循環(huán) 17 * 先do執(zhí)行一次,再判斷 18 */ 19 @Test 20 public void testDoWhile() { 21 int num = 5; 22 do { 23 System.out.println(num); 24 num -= 1; 25 } while (num > 0); 26 } 27 }3、for循環(huán)
for循環(huán)執(zhí)行的次數(shù)是在執(zhí)行前就確定的。
語法:
for(初始化語句A ; 條件判斷B; 循環(huán)后功能語句C){//循環(huán)體D }執(zhí)行一次循環(huán)后,更新循環(huán)控制變量,語句C的作用。然后再次檢測布爾表達式。循環(huán)執(zhí)行上面的過程。
1 public class Circulation { 2 /** 3 * 簡單for循環(huán) 4 */ 5 @Test 6 public void testFor() { 7 int num = 10; 8 for (int i = 0; i < num; i++) { 9 System.out.println(i); 10 } 11 } 12 }4、foreach加強的for循環(huán)
Java5 引入了一種主要用于數(shù)組的增強型 for 循環(huán)。
作用: 主要是用來遍歷數(shù)組和集合的;
缺點: 沒有索引,凡是涉及有索引相關(guān)操作還是用普通for循環(huán),
Java 增強 for 循環(huán)語法:
for(源中的數(shù)據(jù)類型 值e: 源){//代碼句子,直接使用值e } 1 public class Circulation1 { 2 /** 3 * foreach循環(huán) 4 */ 5 @Test 6 public void testForeach() { 7 int[] num = {10, 20, 30, 40, 50}; 8 for (int i : num) { 9 System.out.println(i); 10 } 11 } 12 }5、嵌套循環(huán)
1 public class Circulation { 2 /** 3 * 嵌套循環(huán)實現(xiàn)冒泡排序 4 */ 5 @Test 6 public void test() { 7 int[] num = {12, 2, 7, 5, 14}; 8 int t = 0; 9 for (int i = 0; i < num.length-1; i++) { 10 for (int j = 0; j < num.length-1; j++){ 11 if (num[j] > num[j + 1]) { 12 t = num[j]; 13 num[j] = num[j + 1]; 14 num[j + 1] = t; 15 } 16 } 17 } 18 System.out.println(Arrays.toString(num)); 19 } 20 }三、循環(huán)控制語句
1、break
break 表示終止當(dāng)前這一層循環(huán),即跳出當(dāng)前循環(huán)。
2、continue
continue 表示跳過本次循環(huán),進入下一次循環(huán)。
3、return
return 表示結(jié)束當(dāng)前的方法。
注意:break、continue、return 后面都不能跟任何代碼,因為永遠都不會執(zhí)行。
?
for(源中元素類型 e ?: 源 ){
直接使用e就可以了
}
轉(zhuǎn)載于:https://www.cnblogs.com/zt19994/p/8404128.html
總結(jié)
以上是生活随笔為你收集整理的Java基础(三)选择和循环结构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于HotSpot VM以及Java语言
- 下一篇: Turtle库(海龟)