版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 乙烯-醋酸乙烯共聚乳液(VAE)裝置操作工崗前安全意識強(qiáng)化考核試卷含答案
- 鐵合金回轉(zhuǎn)窯工崗前誠信品質(zhì)考核試卷含答案
- 血液制品工測試驗證評優(yōu)考核試卷含答案
- 雷達(dá)裝配工創(chuàng)新實踐評優(yōu)考核試卷含答案
- 林木采伐工操作技能評優(yōu)考核試卷含答案
- 硫酸生產(chǎn)工崗前管理綜合考核試卷含答案
- 乳品配料工安全專項競賽考核試卷含答案
- 調(diào)香師崗前基礎(chǔ)實戰(zhàn)考核試卷含答案
- 聚酯薄膜拉幅工崗前時間管理考核試卷含答案
- 井下采煤工崗前基礎(chǔ)模擬考核試卷含答案
- 洗煤廠租賃合同協(xié)議書
- 品管圈QCC成果匯報之降低用藥錯誤發(fā)生率
- 汽車底盤故障診斷與排除課件 學(xué)習(xí)任務(wù)四 汽車行駛跑偏故障與排除
- 交管12123學(xué)法減分考試題庫
- 大型活動策劃策劃方案
- 運營安全操作培訓(xùn)模板課件
- GB/T 18948-2025汽車?yán)鋮s系統(tǒng)用橡膠軟管和純膠管規(guī)范
- 2025年無人機(jī)共享經(jīng)濟(jì)商業(yè)模式創(chuàng)新與實踐案例報告
- 國際投資學(xué)的試題及答案
- 人教版(2024)八年級上冊地理第一章 單元測試卷(含答案)
- 2025年注冊安全工程師考試《安全生產(chǎn)事故案例分析》真題及答案
評論
0/150
提交評論