Java程序設(shè)計-項目驅(qū)動式教程05學(xué)生基本信息查找與計算_第1頁
Java程序設(shè)計-項目驅(qū)動式教程05學(xué)生基本信息查找與計算_第2頁
Java程序設(shè)計-項目驅(qū)動式教程05學(xué)生基本信息查找與計算_第3頁
Java程序設(shè)計-項目驅(qū)動式教程05學(xué)生基本信息查找與計算_第4頁
Java程序設(shè)計-項目驅(qū)動式教程05學(xué)生基本信息查找與計算_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

講師:XXX時間:

月目錄CONTENTWS01.項目開發(fā)環(huán)境搭建02.學(xué)生成績管理03.學(xué)生基本信息管理04.不同類別學(xué)生信息管理05.學(xué)生基本信息查找與計算目錄CONTENTWS06.使用集合實現(xiàn)學(xué)生信息管理07.學(xué)生信息管理系統(tǒng)異常處理08.使用文件實現(xiàn)學(xué)生信息存儲09.使用JDBC實現(xiàn)學(xué)生信息管理10.圖書管理系統(tǒng)設(shè)計與實現(xiàn)項目

學(xué)生基本信息查找與計算項目5學(xué)生基本信息查找與計算任務(wù)一包裝類和字符串類任務(wù)二

Java常用類知識目標(biāo)熟悉Java包裝類及其提供的常用方法。了解

String

類、StringBuffer

類和

StringBuilder

類等字符串類的區(qū)別,掌握它們提供的常用方法。掌握Math類及其提供的常用方法。掌握日期和時間類的用法,包括創(chuàng)建日期和時間對象方法,以及計算、比較、格式化日期和時間方法。掌握使用Random類生成隨機(jī)數(shù)的方法。能力目標(biāo)能夠根據(jù)不同的應(yīng)用場景選擇合適的字符串類處理字符串。能夠使用Java常用類提供的方法處理實際問題。素養(yǎng)目標(biāo)培養(yǎng)靈活應(yīng)對問題和快速適應(yīng)變化的能力。提升運用科技思維解決實際問題的能力。點擊跳過情境掃碼觀看“學(xué)生基本信息查找與計算”視頻,討論并回答下列問題問題1:在學(xué)生信息管理系統(tǒng)中,一般根據(jù)什么查

找學(xué)生基本信息?問題2:在Java中,如何根據(jù)出生日期計算年齡?掃碼學(xué)習(xí)學(xué)生基本信息查找與計算任務(wù)一包裝類和字符串類包裝類

包裝類是將基本數(shù)據(jù)類型包裝成對象的類,它們位于java.lang包中?;緮?shù)據(jù)類型對應(yīng)的包裝類

基本數(shù)據(jù)類型對應(yīng)的包裝類byte(字節(jié)型)Bytefloat(單精度浮點型)Floatshort(短整型)Shortdouble(雙精度浮點型)Doubleint(整型)Integerchar(字符型)Characterlong(長整型)Longboolean(布爾型)Boolean基本數(shù)據(jù)類型對應(yīng)的包裝類Java5

引入了自動裝箱和拆箱機(jī)制,這使得基本數(shù)據(jù)類型數(shù)據(jù)和包裝類對象之間的轉(zhuǎn)換更加便捷。自動裝箱

自動裝箱是指將基本數(shù)據(jù)類型數(shù)據(jù)自動轉(zhuǎn)換為包裝類對象。自動拆箱

自動拆箱是指將包裝類對象自動轉(zhuǎn)換為基本數(shù)據(jù)類型數(shù)據(jù)。//自動裝箱IntegerintObj=10;DoubledoubleObj=3.14;CharactercharObj='A';//自動拆箱intintValue=intObj;doubledoubleValue=doubleObj;charcharValue=charObj;示例將字符串轉(zhuǎn)換為指定的基本數(shù)據(jù)類型(char

型除外)數(shù)據(jù)。parseXxx(Strings)比較兩個相同包裝類對象值的大小。compareTo(Objectobj)將字符串轉(zhuǎn)換為包裝類(Character類除外)對象。valueOf(Strings)將包裝類對象轉(zhuǎn)換為字符串。toString()包裝類常用方法(4)(1)(2)(3)【運行結(jié)果】實例:5-1

使用包裝類【參考代碼】/*Wrapper.java*/packageproject5.example5_1;publicclassWrapper{……(詳見教材)字符串特性

字符串在Java中作為引用類型,以字符數(shù)組形式駐存于內(nèi)存,支持多種操作與處理。字符串類應(yīng)用Java提供String、StringBuffer與StringBuilder類,分別適用于不同場景,如常量、線程安全變長與非線程安全變長字符串處理。1.String類String類特性String類用于創(chuàng)建內(nèi)容不可變的字符串對象,確保線程安全,避免并發(fā)問題。創(chuàng)建方式可通過直接賦值或使用new關(guān)鍵字調(diào)用構(gòu)造方法來實例化String類對象。Stringstr1="Hello,World!";Stringstr2=newString("Hello,World!");示例

創(chuàng)建

String

類對象的方式有兩種,一種是直接賦值,另一種是通過

new

關(guān)鍵字調(diào)用String類的構(gòu)造方法進(jìn)行實例化。

使用直接賦值方式創(chuàng)建多個

String

類對象,若這些對象的賦值相同(字符串內(nèi)容相同),則它們引用內(nèi)存中同一個字符串對象(字符串內(nèi)容和引用地址都相同)。Stringa="mytosec";Stringb="mytosec";示例a和b同時引用內(nèi)存中的“mytosec”

a和b引用內(nèi)存中的同一字符串對象字符串常量池機(jī)制

使用直接賦值創(chuàng)建String對象時,系統(tǒng)將字符串存入常量池,避免重復(fù)創(chuàng)建相同內(nèi)容的對象。內(nèi)存優(yōu)化原理

通過共享相同字符串的內(nèi)存地址,常量池機(jī)制顯著降低內(nèi)存消耗,確保數(shù)據(jù)一致性與資源利用率。

使用

new

關(guān)鍵字創(chuàng)建多個

String

類對象,即使這些對象的賦值相同(字符串內(nèi)容相同),它們也會引用內(nèi)存中不同的字符串對象(字符串內(nèi)容相同但引用地址不同)。Stringa=newString("mytosec");Stringb=newString("mytosec");示例上述代碼中,a和b分別引用內(nèi)存中不同的字符串對象。a和b引用內(nèi)存中不同的字符串對象

Java

中,String

類對象一旦被初始化,它的內(nèi)容就不能改變了。如果對

String

類對象重新賦值,并不是對原來的字符串對象進(jìn)行修改,而是創(chuàng)建新的字符串對象。Stringstr="love";str="lovemysec";示例上述代碼中,實際存在兩個字符串對象,一個是“l(fā)ove”字符串對象,長度為

4;一個是“l(fā)ovemysec”字符串對象,長度為9。

重新引用字符串對象在

Java

中,原來被引用的字符串對象若沒有其他對象或變量來引用它,就會在適當(dāng)?shù)臅r候被Java的垃圾回收機(jī)制回收。方

法返回值類型說

明length()int返回字符串的長度equals()boolean判斷兩個字符串中的內(nèi)容是否相同toLowerCase()String將字符串中的英文字符轉(zhuǎn)換為小寫toUpperCase()String將字符串中的英文字符轉(zhuǎn)換為大寫toCharArray()char[]將字符串轉(zhuǎn)換為字符數(shù)組charAt(intindex)char返回字符串中指定索引index的字符indexOf(intch)int返回指定字符

ch(字符在

Unicode

字符集中的位置)在字符串中第一次出現(xiàn)的索引indexOf(Stringstr)int返回指定字符串

str

在字符串中第一次出現(xiàn)的索引lastIndexOf(charch)int返回指定字符

ch

在字符串中最后一次出現(xiàn)的索引lastIndexOf(Stringstr)int返回指定字符串

str

在字符串中最后一次出現(xiàn)的索引

String類提供的常用方法方

法返回值類型說

明substring(intbeginIndex)String返回字符串中索引從

beginIndex(包含)到末尾的子字符串substring(intbeginIndex,intendIndex)String返回字符串中索引從

beginIndex(包含)到endIndex(不包含)的子字符串concat(Stringstr)String將指定字符串str連接到字符串的末尾replace(charold,charnew)String將字符串中的指定字符(串)old

替換為新字符(串)newsplit(Stringregex)String[]根據(jù)指定字符串regex拆分字符串trim()String返回前后不含任何空格的字符串compareTo(Stringstr)int按字母順序比較兩個字符串。如果兩個字符串相等,則返回

0;如果字符串在參數(shù)字符串之前,則返回?1;如果字符串在參數(shù)字符串之后,則返回1toString()String返回字符串本身

String類提供的常用方法(續(xù)表)“+”連接符“+”連接符用于連接兩個字符串。Stringstr1="Hello";Stringstr2=str1+"World!"; //str2的值為“HelloWorld!”“==”運算符用于判斷兩個字符串是否為同一個對象。當(dāng)字符串內(nèi)容和引用地址都相同時,返回值為

true;當(dāng)字符串內(nèi)容不同或字符串內(nèi)容相同但引用地址不同時,返回值為false?!具\行結(jié)果】實例:5-2

處理String類型字符串【參考代碼】/*StringOperate.java*/packageproject5.example5_2;publicclassStringOperate{……(詳見教材)2.StringBuffer類線程安全特性字符串處理StringBuffer類用于處理可變字符串對象,支持多次修改且不產(chǎn)生新實例,適用于高頻操作場景以提升處理效率。StringBuffer類通過同步機(jī)制實現(xiàn)線程安全,確保多線程并發(fā)訪問共享對象時數(shù)據(jù)完整性不受破壞。

創(chuàng)建一個空的StringBuffer類對象,初始容量為16個字符。StringBuffer()

創(chuàng)建一個空的但具有指定初始容量

capacity

的StringBuffer類對象。StringBuffer(intcapacity)創(chuàng)建一個初始內(nèi)容為

str

StringBuffer

類對象,并額外提供16個字符的緩沖區(qū),即初始容量為str的長度加16。StringBuffer(Stringstr)(1)(2)(3)StringBuffer類的構(gòu)造方法使用不同構(gòu)造方法創(chuàng)建StringBuffer類對象//創(chuàng)建一個空的字符串StringBuffersb1=newStringBuffer();//創(chuàng)建一個初始容量為30個字符的字符串StringBuffersb2=newStringBuffer(30);//創(chuàng)建一個初始內(nèi)容為“”的字符串StringBuffersb3=newStringBuffer("");示例方

法返回值類型說

明length()int返回字符串的長度capacity()int返回字符串的容量setCharAt(intpos,charch)void將字符串中指定索引pos的字符設(shè)置為新字符chappend(Stringstr)StringBuffer將指定字符串str追加到字符串的末尾insert(intoffset,Stringstr)StringBuffer在字符串的指定索引offset處插入字符串strdelete(intstart,intend)StringBuffer刪除字符串中索引從

start(包含)到

end(不包含)的子字符串deleteCharAt(intpos)StringBuffer刪除字符串中指定索引pos的字符reverse()StringBuffer將字符串中的字符反轉(zhuǎn)toString()String將StringBuffer類型字符串轉(zhuǎn)換為String類型replace(intstart,intend,Stringstr)StringBuffer將字符串中索引從

start(包含)到

end(不包含)的子字符串替換為新字符串strStringBuffer類提供的常用方法實例:5-3

處理StringBuffer類型字符串【參考代碼】/*StringBufferOperate.jiava*/packageproject5.example5_3;publicclassStringBufferOperate{publicstaticvoidmain(String[]args){……(詳見教材)【運行結(jié)果】3.StringBuilder類StringBuilder

類是非線程安全的,在單線程環(huán)境中不需要進(jìn)行線程同步,因此在單線程環(huán)境中使用StringBuilder類處理字符串的效率更高。insert()delete()reverse()

append()replace()123實施流程在項目

src

目錄下的

project5

包中新建

task1

包。在

task1

包中新建

StudentSearch

類。運行

StudentSearch

類查找學(xué)生基本信息掃碼學(xué)習(xí)包裝類和字符串類包裝類字符串類任務(wù)二Java常用類指數(shù)運算對數(shù)運算平方根運算三角函數(shù)運算Math

類提供了豐富的數(shù)學(xué)運算方法Math

類中的所有方法和常量都是靜態(tài)的,可以直接通過類名調(diào)用和訪問,如

Math.E(自然對數(shù)的底數(shù))和

Math.PI(圓周率)。方

法返回值類型說

明abs(doublea)double返回a的絕對值cbrt(doublea)double返回a的立方根sqrt(doublea)double返回a的平方根ceil(doublea)double向上取整,返回大于或等于

a

的最小整數(shù)的double型值floor(doublea)double向下取整,返回小于或等于

a

的最大整數(shù)的double型值round(doublea)/round(floata)long/int四舍五入,返回最接近a的long型/int型值max(doublea,doubleb)double返回a和b中的較大值min(doublea,doubleb)double返回a和b中的較小值pow(doublea,doubleb)double返回a的b次冪log(doublea)double返回以e為底數(shù)a的對數(shù)random()double返回一個[0.0,1.0)的隨機(jī)數(shù)Math類提供的常用方法abs()方法、max()方法和

min()方法有重載方法,支持

int

型、long

型和float型參數(shù),返回相應(yīng)類型的值。實例:5-4

使用Math類【參考代碼】/*MathTest.java*/packageproject5.example5_4;publicclassMathTest{publicstaticvoidmain(String[]args){……(詳見教材)【運行結(jié)果】實例:5-4

使用Math類【結(jié)果說明】

a

的平方根時返回

NaN,這是因為

a

為負(fù)數(shù),無法計算平方根。1.LocalDate類LocalDate

LocalDate

類是一個表示日期的類,用于創(chuàng)建和處理不可變的日期對象。它提供了多種方法來創(chuàng)建日期對象。概述(1)now()

獲取系統(tǒng)當(dāng)前日期創(chuàng)建LocalDate類對象。(2)of()

根據(jù)指定的年、月和日創(chuàng)建

LocalDate

類對象。(3)parse()

將日期字符串解析為

LocalDate

類對象,其中的日期字符串格式必須為“yyyy-MM-dd”。LocalDate類創(chuàng)建日期對象的方法方

法返回值類型說

明getYear()int獲取年份getMonth()Month獲取月份枚舉值,如APRIL(四月)getMonthValue()int獲取月份(1~12)getDayOfYear()int獲取年份中的第幾天getDayOfMonth()int獲取月份中的第幾天getDayOfWeek()DayOfWeek獲取星期枚舉值,如THURSDAY(星期四)plusXxxs(longnum)LocalDate當(dāng)前日期加指定的年數(shù)、月數(shù)、周數(shù)或天數(shù),如plusYears(1)表示當(dāng)前日期加1年minusXxxs(longnum)LocalDate當(dāng)前日期減指定的年數(shù)、月數(shù)、周數(shù)或天數(shù),如minusDays(1)表示當(dāng)前日期減1天isBefore(LocalDatedate)boolean判斷當(dāng)前日期是否在date之前isAfter(LocalDatedate)boolean判斷當(dāng)前日期是否在date之后isEqual(LocalDatedate)boolean判斷當(dāng)前日期是否與date相同isLeapYear()boolean判斷當(dāng)前日期是否是閏年LocalDate類提供的常用方法創(chuàng)建

LocalDate

類對象后,可以獲取該對象中的日期信息,對日期進(jìn)行計算和比較。2.LocalTime類LocalTime類LocalTime

類是一個表示時間的類,用于創(chuàng)建和處理不可變的時間對象。概述獲取系統(tǒng)默認(rèn)時區(qū)的當(dāng)前時間創(chuàng)建LocalTime類對象。(1)now()

根據(jù)指定的時、分、秒和納秒(時和分不能省略)創(chuàng)建

LocalTime

類對象。(2)of()將時間字符串解析為

LocalTime

類對象,其中的時間字符串格式為“時:分:秒.納秒”。(3)parse()LocalTime類創(chuàng)建日期對象的方法方

法返回值類型說

明getHour()int獲取小時getMinute()int獲取分鐘getSecond()int獲取秒getNano()int獲取納秒plusXxxs(longnum)LocalTime當(dāng)前時間加指定的時、分、秒或納秒,如

plusHours(1)表示當(dāng)前時間加1小時minusXxxs(longnum)LocalTime當(dāng)前時間減指定的時、分、秒或納秒,如minusSeconds(1)表示當(dāng)前時間減1秒isBefore(LocalTimetime)boolean判斷當(dāng)前時間是否在time之前isAfter(LocalTimetime)boolean判斷當(dāng)前時間是否在time之后compareTo(LocalTimetime)boolean比較兩個時間,當(dāng)前時間早于time返回?1,等于time返回0,晚于time返回1

LocalTime類提供的常用方法LocalTime

類還提供了幾個時間常量,如

MIDNIGHT(表示

00:00)、NOON(表示12:00)、MIN(表示00:00)、MAX(表示23:59:59.999999999)。創(chuàng)建LocalTime類對象后,可以獲取該對象中的時間信息,對時間進(jìn)行計算和比較?!具\行結(jié)果】實例:5-5

使用LocalDate類和LocalTime類【參考代碼】/*DateTimeExample1.java*/packageproject5.example5_5;importjava.time.*;……(詳見教材)3.LocalDateTime類LocalDateTime類

LocalDateTime

類是一個表示日期和時間的類,它提供了多種方法來創(chuàng)建日期時間對象。概述now()獲取系統(tǒng)默認(rèn)時區(qū)的當(dāng)前日期和時間創(chuàng)建LocalDateTime類對象。(1)of()

根據(jù)指定的年、月、日、時、分、秒和納秒創(chuàng)建

LocalDateTime

類對象。(2)parse()將日期時間字符串解析為LocalDateTime類對象。(3)LocalDateTime類創(chuàng)建日期對象的方法創(chuàng)建LocalDateTime類對象后,可以獲取該對象中的日期和時間信息,對日期和時間進(jìn)行計算和比較。LocalDateTime類提供的常用方法與LocalDate類和LocalTime類提供的常用方法相同。4.Period類LocalTime類Period

類是一個表示日期間隔的類,主要用于計算兩個日期之間的間隔,可以是年、月和天。概述(1)(2)(3)(4)根據(jù)指定的年數(shù)、月數(shù)和天數(shù)創(chuàng)建Period類對象。of()根據(jù)指定的年數(shù)創(chuàng)建

Period

類對象。ofYears()根據(jù)指定的月數(shù)創(chuàng)建

Period

類對象。ofMonths()根據(jù)指定的天數(shù)創(chuàng)建

Period

類對象ofDays()Period類創(chuàng)建日期對象的方法(5)(6)將日期間隔字符串解析為

Period

類對象。根據(jù)兩個

LocalDate

類對象(如

date1

date2)計算日期間隔創(chuàng)建Period類對象between()parse()Period類創(chuàng)建日期對象的方法創(chuàng)建Period類對象后,可以使用getYears()方法、getMonths()方法和getDays()方法分別獲取該對象中的年數(shù)、月數(shù)和天數(shù),還可以使用plusXxxs()和minusXxxs()方法分別增加和減少日期間隔。日期間隔字符串

日期間隔字符串必須滿足

ISO-8601

格式規(guī)則,如

P2Y3M5D。其中,P

表示Period,Y表示年,M表示月,D表示天5.DateTimeFormatter類LocalDateTime類DateTimeFormatter

類用于格式化和解析日期和時間對象,該類位于

java.time.format包中。它提供了

ofPattern(Stringpat

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論