「Java教案」順序結構

課程目標

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 的執行流程可以看作是一系列精心設計的步驟,確保了授權的準確性和安…