「Java教案」顺序结构

46 阅读6分钟

课程目标

1. 知识目标

  1. 能够正确使用Java顺序结构的基本语法,例如变量的声明、变量的赋值、表达式的计算、数据的输出。
  2. 能够正确使用顺序结构的执行规则及其在程序中的作用,解决实际问题。

2 能力目标

  1. 能够独立完成顺序结构程序的编写,能够调试程序并且能够优化程序。
  2. 能对代码进行分析,能定位程序中的逻辑错误并进行修改。

3 思政目标

  1. 培养严谨细致的编程习惯,强调“代码即责任”的职业意识。
  2. 通过团队协作完成案例,建立“分工协作、按序执行”的工匠精神。

教学内容

1.顺序结构核心概念

  1. 代码执行规则:Java程序是从main方法开始执行,按代码书写顺序逐行执行,无分支或循环结构。
  2. 代码逻辑顺序:Java程序的逻辑顺序需要符合业务逻辑,例如,先计算后输出、先定义后使用。

2. 语法规则与细节

  1. 变量声明与初始化:

基本数据类型,例如,int、double、char等要显式初始化,否则可能报错或逻辑错误。

引用数据类型,例如,String等可直接赋值或初始化。

  1. 输出语句:

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%)

  1. 课堂练习的完成程度(20%)
  2. 编写代码的规范性与添加注释的规范性(10%)
  3. 参与小组讨论和解决问题的能力(10%)

2 终结性考核(60%)

  1. 理论测试(20%)
  2. 综合项目(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”。