课程目标
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πr
System.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; // 定义变量a
int b = 20; // 定义变量b
int c = a + b; // 计算a+b
System.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”。