順序結構
定義:按照代碼的順序從上至下一次執行。程序在執行時默認的按照順序結構執行。
選擇結構
if
1. if語句
程序流程圖:
語法:
if(條件){ 執行語句; }
2. if-else 結構
程序流程圖:
語法:
if(條件){ 執行語句1; }else{ 執行語句2; }
實例
// Scan+Alt鍵+?鍵 自動生成 import java.util.Scanner; 工具包 import java.util.Scanner; public class Exam1 { public static void main(String[] args) { //在系統中定義一個用於鍵盤輸入的input對象,定義好了以后,input能夠完成鍵盤的輸入功能。 Scanner input = new Scanner(System.in); //聲明變量,用於后續保存通過鍵盤輸入員工工號 String work_id; //聲明變量,用於后續保存通過鍵盤輸入密碼 String password; System.out.println(">>>阿拉福收銀管理系統"); System.out.println("請輸入管理員工號:"); //通過input找到文字輸入的功能,將輸入的內容存到變量中 work_id = input.next(); System.out.println("請輸入管理員密碼:"); //通過input找到文字輸入的功能,將輸入的內容存到變量中 password = input.next(); //if---else選擇結構,判斷條件 //字符串判斷是否相等時使用equals()。 if(work_id.equals("A9901")&&password.equals("123456") ){ System.out.println("登錄成功!"); }else{ System.out.println("用戶名或密碼錯誤!"); } System.out.println("程序結束!"); } }
3. if-else if-else 結構
程序流程圖:
語法:
if(條件1){ 執行語句1; }else if(條件2){ 執行語句2; }else{ 執行語句3; }
實例
import java.util.Scanner; public class Exam1 { public static void main(String[] args) { //在系統中定義一個用於鍵盤輸入的input對象,定義好了以后,input能夠完成鍵盤的輸入功能。 Scanner input = new Scanner(System.in); //聲明變量,用於后續保存通過鍵盤輸入員工工號 String work_id; //聲明變量,用於后續保存通過鍵盤輸入密碼 String password; System.out.println(">>>阿拉福收銀管理系統"); System.out.println("請輸入管理員工號:"); //通過input找到文字輸入的功能,將輸入的內容存到變量中 work_id = input.next(); System.out.println("請輸入管理員密碼:"); //通過input找到文字輸入的功能,將輸入的內容存到變量中 password = input.next(); //if---else if---else選擇結構 if(!work_id.equals("A9901")){ System.out.println("登錄失敗,員工工號輸入錯誤"); }else if(!password.equals("123456")){ System.out.println("登錄失敗,密碼錯誤"); }else{ System.out.println("登錄成功!"); } System.out.println("程序結束!"); } }
switch
程序流程圖:
語法:
switch(表達式){ case 標量1: 執行語句1; break; case 標量2: 執行語句2; break; case 標量n: 執行語句n; break; default: 執行其他語句; }
說明
1、 表達式的類型只能為byte、short、char和int這4種之一。
2、 標量1、標量2…標量n只能為常數或常量,不能為變量。
3、 功能代碼部分可以寫任意多句。
4、 break關鍵字的意思是中斷,指結束switch語句,break語句為可選。
5、 case語句可以有任意多句,是標號語句。
6、 default語句可以寫在switch語句中的任意位置,功能類似於if語句中的else。
執行流程:當表達式的值和對應case語句后的值相同時,既從該位置開始向下執行,一直執行到switch語句的結束,在執行中,如果遇到break語句,則結束switch語句的執行。
實例
import java.util.Scanner; public class Exam5 { public static void main(String[] args) { Scanner input = new Scanner(System.in); int item; System.out.println("---------歡迎進入在線購物系統---------"); System.out.println("=========功能選項========="); System.out.println("1.登錄"); System.out.println("2.注冊"); System.out.println("3.商品列表"); System.out.println("4.商品分類"); System.out.println("5.退出系統"); System.out.println("請輸入選項號:"); item = input.nextInt(); switch(item){ case 1: System.out.println("------進入登錄系統------"); break; case 2: System.out.println("------進入注冊系統------"); break; case 3: System.out.println("------進入商品列表------"); break; case 4: System.out.println("------進入商品分類------"); break; default: System.out.println("------退出系統------"); } } }
循環結構
while
程序流程圖:
語法:
while(條件){ 循環體; }
實例
public class Exam6 { public static void main(String[] args) { //1.使用while循環向控制台輸出1~100之間的整數 int i = 1; while(i <= 100){ System.out.print(i); //\t---相當於tab鍵 縮進的功能 System.out.print("\t"); i++; } System.out.println("while循環結束"); } }
do while
程序流程圖:
語法
do{ }while(條件);
實例
public class Exam7 { public static void main(String[] args) { int i = 1; do{ System.out.print(i); System.out.print("\t"); i++; }while(i<=9); System.out.println("循環結束"); } }
for
系統流程圖:
語法
for(表達式1:條件表達式:增量){ 循環語句; }
實例
public class Exam8 { public static void main(String[] args) { int i ; //for語句 先判斷,后執行 //for循環也稱為計數器循環 //表達式1 負責將計數變量初始化,表達式1只在循環的第一次時執行 //條件表達式用於判斷循環是否可以繼續 //增量,使計數變量在每次循環時進行增(減) //執行流程:(表達式1因為只在循環開始后第一次執行)條件表達式->循環語句->增量->條件表達式->循環語句...... for(i=1;i<=9;i++){ System.out.print(i); System.out.print("\t"); } } }
九九乘法表
public class Exam10 { public static void main(String[] args) { //九九乘法表 int i,j,k; for(i=1;i<=9;i++){ for(j=1;j<=i;j++){ k = i*j; System.out.print(j+"*"+i+"="+k); System.out.print("\t"); } System.out.println("\r"); } } }