課程目標
1.知識目標
- 能夠正確使用Java順序結構的基本語法,例如變量的聲明、變量的賦值、表達式的計算、數據的輸出。
- 能夠正確使用順序結構的執行規則及其在程序中的作用,解決實際問題。
2.能力目標
- 能夠獨立完成順序結構程序的編寫,能夠調試程序并且能夠優化程序。
- 能對代碼進行分析,能定位程序中的邏輯錯誤并進行修改。
3.思政目標
- 培養嚴謹細致的編程習慣,強調“代碼即責任”的職業意識。
- 通過團隊協作完成案例,建立“分工協作、按序執行”的工匠精神。
教學內容
1.順序結構核心概念
- 代碼執行規則:Java程序是從main方法開始執行,按代碼書寫順序逐行執行,無分支或循環結構。
- 代碼邏輯順序:Java程序的邏輯順序需要符合業務邏輯,例如,先計算后輸出、先定義后使用。
2.語法規則與細節
- 變量聲明與初始化:
基本數據類型,例如,int、double、char等要顯式初始化,否則可能報錯或邏輯錯誤。
引用數據類型,例如,String等可直接賦值或初始化。
- 輸出語句:
System.out.println():換行輸出。
System.out.print():不換行輸出。
重點分析
難點分析
教學活動設計
概念引入
提問學生“煮泡面”的順序是怎樣的?是先燒水在放面還是先方面在燒水?將程序執行的順序,類比與“煮泡面”的順序。強調程序順序邏輯正確性是非常重要的,如果程序邏輯順序出錯可能會導致程序錯誤。
示例
public class RectangleArea {public static void main(String[] args) {int length = 10; // 定義變量int width = 5;int area = length * width; // 計算面積System.out.println("矩形面積:" + area); // 輸出結果}
}
運行結果
矩形面積:50
說明:Java源文件名保存為“RectangleArea.java”。
案例解析
案例:計算商品總價
public class ShoppingTotal {public static void main(String[] args) {double price = 29.9; // 單價int quantity = 3; ???// 數量double shippingFee = 5.0; // 運費double total = price * quantity + shippingFee; // 計算總價System.out.println("商品總價:" + total + "元"); // 輸出帶單位}
}
運行結果
商品總價:94.69999999999999元
說明:Java源文件名保存為“ShoppingTotal.java”。·在定義變量時數據類型選擇double類型用于小數。為了輸出更符合日常習慣,在輸出的最后添加“元”單位。
案例:溫度轉換
public class TemperatureConverter {public static void main(String[] args) {double celsius = 37.5; // 攝氏度double fahrenheit = celsius * 9 / 5 + 32; // 轉換公式System.out.println(celsius + "℃?= " + fahrenheit + "℉"); // 輸出格式}
}
運行結果
37.5℃ = 99.5℉
說明:Java源文件名保存為“TemperatureConverter.java”。
案例:計算圓的周長
public class CircleCircumference {public static void main(String[] args) {double radius = 5.0;double circumference = 2 * 3.14 * radius; // 公式:2πrSystem.out.println("圓的周長:" + circumference);}
}
運行結果
圓的周長:31.400000000000002
說明:Java源文件名保存為“CircleCircumference.java”。
案例:計算員工稅后工資
public class EmployeeSalary {public static void main(String[] args) {double baseSalary = 3000; // 基本工資double bonus = 500; ?????// 獎金double taxRate = 0.1; ???// 稅率double salaryAfterTax = (baseSalary + bonus) * (1 - taxRate); // 計算稅后工資System.out.println("稅后工資:" + salaryAfterTax + "元");}
}
運行結果
稅后工資:3150.0元
說明:Java源文件名保存為“EmployeeSalary.java”。
常見錯誤
錯誤:在定義變量時變量取名為total,而在使用時名字錯拼totle。?→ IDE會報錯“找不到符號”的錯誤,此時需要檢查變量名是否一致性。
錯誤:程序語句的順序錯誤,如先輸出再計算。?→ 調整代碼順序,確保邏輯先計算后輸出。
課堂練習
練習:編寫程序計算三角形面積(底為6,高為4)。
public class TriangleArea {public static void main(String[] args) {double base = 6.0;double height = 4.0;double area = 0.5 * base * height; // 公式:0.5×底×高System.out.println("三角形面積:" + area);}
}
運行結果
三角形面積:12.0
說明:Java源文件名保存為“TriangleArea.java”。
練習:編寫程序計算某學生三門課的平均分(成績:85、90、78)。
public class AverageScoreCalculator {public static void main(String[] args) {// 定義三門課的成績int score1 = 85;int score2 = 90;int score3 = 78;// 計算總分int total = score1 + score2 + score3;// 計算平均分(使用浮點除法確保精度)double average = total / 3.0;// 輸出結果System.out.println("三門課成績分別為:" + score1 + ", " + score2 + ", " + score3);System.out.println("平均分為:" + average);}
}
運行結果
三門課成績分別為:85, 90, 78
平均分為:84.33333333333333
說明:Java源文件名保存為“AverageScoreCalculator.java”。
課后作業
作業:編寫程序計算長方體體積(長、寬、高分別為3、4、5)。
public class CuboidVolumeCalculator {public static void main(String[] args) {// 定義長方體的長、寬、高double length = 3.0;double width = 4.0;double height = 5.0;// 計算體積double volume = length * width * height;// 輸出結果System.out.println("長方體尺寸:");System.out.println("長:" + length + ",寬:" + width + ",高:" + height);System.out.println("體積為:" + volume);}
}
運行結果
長方體尺寸:
長:3.0,寬:4.0,高:5.0
體積為:60.0
說明:Java源文件名保存為“CuboidVolumeCalculator.java”。
作業:編寫程序計算某員工工資(基本工資3000,獎金500,稅率10%,社保扣除200)。
public class EmployeeSalaryAdvanced {public static void main(String[] args) {double baseSalary = 3000;double bonus = 500;double taxRate = 0.1;double socialSecurity = 200;double salaryAfterTax = (baseSalary + bonus) * (1 - taxRate) - socialSecurity;System.out.println("稅后實發工資:" + salaryAfterTax + "元");}
}
運行結果
稅后實發工資:2950.0元
說明:Java源文件名保存為“EmployeeSalaryAdvanced.java”。
考核設計
1.過程性考核(40%)
- 課堂練習的完成程度(20%)
- 編寫代碼的規范性與添加注釋的規范性(10%)
- 參與小組討論和解決問題的能力(10%)
2.終結性考核(60%)
- 理論測試(20%)
- 綜合項目(40%)
理論測試:
題目:順序結構中,若變量a未初始化直接使用,會報什么錯誤?
答案:編譯錯誤(變量可能未賦值)。
題目:以下代碼的輸出結果是什么?
public class Test {public static void main(String[] args) {int x = 5;System.out.print(x++); // 輸出?System.out.print(++x); // 輸出?}
}
答案:57(x++先輸出后加1后x的值+1變為6;++x先加1后輸出)。
題目:以下代碼是否有語法錯誤?若有,請指出并修正。
public class ErrorExample {public static void main(String[] args) {int y;System.out.println(y); // 錯誤?}
}
答案:變量y未初始化,需改為int y = 0;。
題目:以下代碼是否符合規范?若不符合,請修正。
public class BadCode {public static void main(String[] args) {int a=10; int b=20; int c=a+b;System.out.println(c);}
}
答案:不符合規范,修正后:
public class GoodCode {public static void main(String[] args) {int a = 10; // 定義變量aint b = 20; // 定義變量bint c = a + b; // 計算a+bSystem.out.println("結果:" + c); // 輸出結果}
}
綜合項目:編寫程序計算梯形面積(上底3,下底5,高4)。
public class TrapezoidAreaCalculator {public static void main(String[] args) {// 定義梯形的上底、下底和高double upperBase = 3.0;double lowerBase = 5.0;double height = 4.0;// 計算梯形面積double area = (upperBase + lowerBase) * height / 2;// 輸出結果System.out.println("梯形參數:");System.out.println("上底:" + upperBase);System.out.println("下底:" + lowerBase);System.out.println("高:" + height);System.out.println("面積為:" + area);}
}
運行結果
梯形參數:
上底:3.0
下底:5.0
高:4.0
面積為:16.0
說明:Java源文件名保存為“TrapezoidAreaCalculator.java”。