课程目标

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

  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; // 定义变量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”。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/85760.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/85760.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/85760.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第八部分:阶段项目 6:构建 React 前端应用

现在,是时候将你学到的 React 基础知识付诸实践,构建一个简单的前端应用来模拟与后端 API 的交互了。在这个阶段,你可以先使用模拟数据,或者如果你的后端 API(阶段项目 5)已经搭建好,可以直接连…

GO语言----基础类型取别名

文章目录 取别名示例注意事项 Go语言中使用type关键字为基础类型取别名。 type是Go语言中用于定义新类型的关键字,它提供了强大的类型定义能力。 取别名示例 type MyInt int注意事项 这创建了一个新类型MyInt,它底层是int类型,但与int是不同…

服务端定时器的学习(一)

一、定时器 1、定时器是什么? 定时器不仅存在于硬件领域,在软件层面(客户端、网页和服务端)也普遍应用,核心功能都是高效管理大量延时任务。不同应用场景下,其实现方式和使用方法有所差异。 2、定时器解…

Mac版本Android Studio配置LeetCode插件

第一步:Android Studio里面找到Settings,找到Plugins,在Marketplace里面搜索LeetCode Editor。 第二步:安装对应插件,并在Tools->LeetCode Plugin页面输入帐号和密码。 理论上,应该就可以使用了。但是&a…

【ISP算法精粹】动手实战:用 Python 实现 Bayer 图像的黑电平校正

在数字成像领域,图像信号处理器(ISP)如同幕后英雄,默默将传感器捕获的原始数据转化为精美的图像。而黑电平校正,作为ISP预处理流程中的关键一环,直接影响着最终图像的质量。今天,我们就通过Pyth…

Oracle OCP与MySQL OCP认证如何选?

认证本质与定位差异 Oracle OCP Oracle OCP是Oracle公司推出的旗舰级数据库专家认证,专注于其核心的闭源商业数据库技术体系。核心领域包括RAC(Real Application Clusters)高可用集群、Data Guard容灾解决方案、Exadata数据库一体机集成以及…

MVVM、MVC的区别、什么是MVVM

一、什么是MVVM (一)定义 MVVM是Model - View - ViewModel的缩写,它是一种软件架构设计模式,主要用于构建用户界面。这种模式将应用程序分为三个主要部分: Model(模型层) 它是应用程序中负责…

【SpringCache 提供的一套基于注解的缓存抽象机制】

Spring 缓存(Spring Cache)是 Spring 提供的一套基于注解的缓存抽象机制,常用于提升系统性能、减少重复查询数据库或接口调用。 ✅ 一、基本原理 Spring Cache 通过对方法的返回结果进行缓存,后续相同参数的调用将直接从缓存中读…

HRI-2025 | 大模型驱动的个性化可解释机器人人机交互研究

作者:Ferran Gebelli 1 ^{1} 1, Lavinia Hriscu 2 ^{2} 2, Raquel Ros 1 ^{1} 1, Sverin Lemaignan 1 ^{1} 1, Alberto Sanfeliu 2 ^{2} 2, Anais Garrell 2 ^{2} 2单位: 1 ^{1} 1PAL Robotics, 2 ^{2} 2IRI (UPC-CSIC)论文标题:P…

Gitee Wiki:重塑关键领域软件研发的知识管理范式

在数字化转型浪潮席卷全球的当下,关键领域软件研发正面临前所未有的知识管理挑战。传统文档管理模式的局限性日益凸显,知识传承的断层问题愈发严重,团队协作效率的瓶颈亟待突破。Gitee Wiki作为新一代知识管理平台,正在通过技术创…

JVM 内存溢出 详解

内存溢出 内存溢出指的是内存中某一块区域的使用量超过了允许使用的最大值,从而使用内存时因空间不足而失败,虚拟机一般会抛出指定的错误。 在Java虚拟机中,只有程序计数器不会出现内存溢出的情况,因为每个线程的程序计数器只保…

dvwa8——SQL Injection(Blind)

由题目得这一关用盲注写 LOW: 先用bp抓包一下 , 看到这low是get提交 , f12打开hackbar 输入?id1时报错 尝试闭合 , 回显正常 开始注入 1.order by 判断列数,3的时候开始回显报错,所以有两列 ?id1 order by 2--&SubmitSubmit# 2.无回显位置可以爆出,我们通过盲注来继…

探索分布式存储与通信:去中心化共享及通訊(DSAC)

在当今数字化时代,分布式系统的重要性愈发凸显。它不仅能提升数据的存储安全性和可靠性,还能增强通信的效率和隐私性。于是我做了这个去中心化共享及通訊的程序,它构建了一个强大的分布式存储和通信网络,下面我们就来详细了解其实…

ass字幕嵌入mp4带偏移

# 格式转化文件,包含多种文件的互相转化,主要与视频相关 from pathlib import Path import subprocess import random import os import reclass Utils(object):staticmethoddef get_decimal_part(x: float) -> float:s format(x, .15f) # 格式化为…

05 APP 自动化- Appium 单点触控 多点触控

文章目录 一、单点触控查看指针的指针位置实现手势密码: 二、多点触控 一、单点触控 查看指针的指针位置 方便查看手势密码-九宫格每个点的坐标 实现手势密码: 执行手势操作: 按压起点 -> 移动到下一点 -> 依次移动 -> 释放&am…

【软件】在 macOS 上安装 MySQL

在 macOS 上安装 MySQL 有多种方法,以下是两种常见的安装方式:通过 Homebrew 安装和通过安装包安装。以下是详细的步骤: 一、通过 Homebrew 安装 MySQL Homebrew 是 macOS 的包管理器,使用它安装 MySQL 非常方便。 1.安装 Home…

第11节 Node.js 模块系统

为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统。 模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的。换言之,一个 Node.js 文件就是一个模块,这个文件可能是JavaScript 代码、JSON 或者编译过的…

力扣热题100之二叉树的直径

题目 给你一棵二叉树的根节点,返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的 长度 由它们之间边数表示。 代码 方法:递归 计算二叉树的直径可以理解…

OpenCV CUDA模块图像处理------创建CUDA加速的Canny边缘检测器对象createCannyEdgeDetector()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 该函数用于创建一个 CUDA 加速的 Canny 边缘检测器对象(CannyEdgeDetector),可以在 GPU 上高效执行 Canny 边…

unix/linux,sudo,其内部结构机制

我们现在深入sudo的“引擎室”,探究其内部的结构和运作机制。这就像我们从观察行星运动,到深入研究万有引力定律的数学表达和物理内涵一样,是理解事物本质的关键一步。 sudo 的内部结构与机制详解 sudo 的执行流程可以看作是一系列精心设计的步骤,确保了授权的准确性和安…