Java程式大致分為三種流程控制結構:順序結構、分支結構、循環結構
順序結構
程式由上到下的逐行執行,中間沒有任何跳躍和判斷語句。
範例程式碼如下:
1 public class TestSortStruc { 2 public static void main(String[] args) { 3 //流程控制:顺序结构 4 int i = 15; 5 int j = i + 1; 6 System.out.println(j); 7 8 /*错误示例,因为n的赋值语句使用到了m,所以不能将m在n后面定义 9 * int n = m + 1;10 int m = 10;11 System.out.println(n);*/12 }13 }
#
#分支結構
依照條件,選擇性的執行某段程式碼區塊。
分為if...else和switch..case兩類分支語句。
一、if語句的三種結構:
# 1. if(true){
# 執行程式碼區塊;}
範例程式碼如下:
1 public class TestIf1 {2 public static void main(String[] args) {3 if(true){4 System.out.println("Hello World!!");5 }6 }7 }
# 2. if(條件判斷語句){
執行程式碼區塊;}
else{ 執行程式碼區塊;}
範例程式碼如下:
#10re ##
3. if(條件判斷語句){
執行程式碼區塊;}
else if(條件判斷語句){
執行程式碼區塊;}# 執行程式碼區塊;}
# ...... else{執行程式碼區塊;}
## else{執行程式碼區塊;}#
1 public class TestIf2 { 2 public static void main(String[] args) { 3 int age = 21; 4 if(age>18){ 5 System.out.println("你已经成年了!!"); 6 }else{ 7 System.out.println("你还没有成年!!"); 8 } 9 }10 }
透過鍵盤取得值,然後使用if判斷語句進行判斷學生成績,使用Scanner對象,讓使用者在控制台輸入值
#範例程式碼如下:
1 public class TestIf3{ 2 public static void main(String[] args) { 3 int age = 26; 4 5 if(age > 130 || age < 0){ 6 System.out.println("估计不是人吧!!"); 7 }else if(age <30){ 8 System.out.println("你还挺年轻!!只有"+ age +"岁"); 9 }else{10 System.out.println("我都是孩子他爹了,你另找心上人吧!!");11 }12 }13 }
註:1.if條件判斷之間可以進行巢狀;
2. 1)如果多個條件之間是「互斥」關係,那麼條件語句的順序是自由的;2)如果
2)如果2)如果 2)如果多個條件之間是「包含」關係,那麼要求範圍小的條件要寫在範圍大的條件上面。
二、switch...case語句:
#
switch(表達式){
# case 常數1:
語句1;
# break;
[ case
######### 常量:################## 語句2;################## break;############ break;######### ########## ......################### case 常數n:########################################################## ###### 語句n;################### break;##################" break;##################" ################# 語句;################## break;############# break;############# ####### }################### 根據表達式的值,選擇對應的case去判斷,一旦滿足case條件,就執行相應case下的語句。 ############### switch 後小括號裡面的表達式的值的資料型別包含:char、byte、short、int、枚舉、String(JDK1.7以上才能使用String類型)。 ############ case後面接著的常數只能為準確的值,而不能為取值範圍。 ############### 範例程式碼如下:#############1 /*题目: 2 * 从键盘输入自己的考试成绩 3 * 当成绩为100分时,奖励一台外星人电脑 4 * 当成绩在80~99时,奖励一部iPhone7 plus 5 * 当成绩在60~80时,奖励一本考试科目的习题册 6 * 成绩低于60时,没有奖励,需要连续三个月不许玩游戏看电视。*/ 7 //1.导入Scanner包,记住一定要是java.util下的Scanner包 8 import java.util.Scanner; 9 10 public class TestScanner {11 public static void main(String[] args) {12 //2.new 一个Scanner对象sc13 Scanner sc = new Scanner(System.in);14 /*3.从键盘获取用户输入的值,因为要判断成绩,15 所以规定输入的值是int类型的数字,使用nextInt()方法*/16 System.out.println("请输入你的成绩:");17 int grade = sc.nextInt();18 //使用if判断语句进行成绩奖励判断19 if(grade == 100){20 System.out.println("恭喜你,获得一台外星人电脑!!");21 }else if(grade < 100 && grade >= 80){22 System.out.println("恭喜你,获得一部iPhone7 plus!!");23 }else if(grade < 80 && grade >=60 ){24 System.out.println("恭喜你,你需要完成一本本学科的习题册!!");25 }else{26 System.out.println("很遗憾,你在未来的三个月不能玩游戏,看电视!!");27 }28 }29 }
註:如果沒有break或已經到結尾的話,會繼續向下執行其他的case語句,如果只想得到某一個值,需要都加上break關鍵字;default雖為結尾語句,但是可以寫在 switch中任何一個case前或後面,但是不能寫進case裡面,但是習慣性的放在末尾,default也可以不寫。
循環結構
# 透過循環條件,重複性的執行某段程式碼區塊,直到該條件不被滿足。
分為while、do..while、for迴圈三種迴圈語句。
註:在JDK1.5中提供了foreach循環,更方便用於便利集合和陣列元素。
循環結構是最常用的也最重要的,故此講其單獨放在(下)篇進行梳理。
以上是Java--程式流程控制的詳細內容。更多資訊請關注PHP中文網其他相關文章!