《面向?qū)ο蟪绦蛟O(shè)計(jì)》課件-任務(wù)六 Java常用API_第1頁
《面向?qū)ο蟪绦蛟O(shè)計(jì)》課件-任務(wù)六 Java常用API_第2頁
《面向?qū)ο蟪绦蛟O(shè)計(jì)》課件-任務(wù)六 Java常用API_第3頁
《面向?qū)ο蟪绦蛟O(shè)計(jì)》課件-任務(wù)六 Java常用API_第4頁
《面向?qū)ο蟪绦蛟O(shè)計(jì)》課件-任務(wù)六 Java常用API_第5頁
已閱讀5頁,還剩64頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

任務(wù)六

Java常用API“繩章匠韻,煉字強(qiáng)基”-字符串類之String類字符串類字符串是編寫程序時(shí)使用最為頻繁的數(shù)據(jù)類型之一,為了更好的封裝和處理字符串?dāng)?shù)據(jù),Java提供了三種主要的字符串類,分別是String、StringBuffer和StringBuilder,它們位于java.lang包中,可以直接使用而不需要導(dǎo)包。下面對String類、StringBuffer類和StringBuilder類分別進(jìn)行講解。學(xué)習(xí)目標(biāo)掌握String類的初始化,能夠創(chuàng)建并初始化String對象String類String類Java提供用于表示字符串的類之一,使用該類可以創(chuàng)建和操作字符串對象。使用String類進(jìn)行字符串操作之前,首先需要初始化String對象,初始化的方式有使用字符串常量和使用構(gòu)造方法兩種方式。String類(1)使用字符串常量使用字符串常量初始化一個(gè)String類對象的語法格式如下。String變量名

=字符串;String為引用數(shù)據(jù)類型,字符串可以為一個(gè)具體的字符串,也可以設(shè)置為null。示例代碼如下。Stringstr1

=

null; //將字符串str1設(shè)置為nullString

str2

=

"";

//將字符串str2設(shè)置為空字符串String

str3

="hello";

//將字符串str3設(shè)置為helloString類(1)使用字符串常量String類代表一個(gè)不可變的字符序列。這意味著只要一個(gè)String對象被創(chuàng)建,它的值就不能被修改。示例代碼及圖解變化如下。Strings="hello";s="hello

world";String類(2)使用構(gòu)造方法String類提供了多個(gè)構(gòu)造方法來初始化字符串對象,其中的常見構(gòu)造方法如下表所示。方法聲明功能描述String()創(chuàng)建一個(gè)內(nèi)容為空的字符串String(char[]

value)根據(jù)指定的字符數(shù)組value創(chuàng)建對象String(byte[]bytes)根據(jù)指定的字節(jié)數(shù)組bytes創(chuàng)建對象學(xué)習(xí)目標(biāo)熟悉String類的常用方法,能夠使用String類的常用方法對字符串進(jìn)行查找、替換、分割、截取等操作String類為了方便操作和處理字符串,String類提供了一系列常用的方法,包括查找、替換、比較和截取等操作。方法聲明功能描述intlength()返回當(dāng)前字符串的長度,即字符串中字符的個(gè)數(shù)booleanisEmpty()判斷字符串長度是否為0,如果為0則返回true,反之則返回falseintindexOf(int

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

ch)返回指定字符ch在字符串中最后一次出現(xiàn)的位置intindexOf(String

str)返回指定子字符串str在字符串第一次出現(xiàn)的位置intlastIndexOf(String

str)返回指定子字符串str在此字符串中最后一次出現(xiàn)的位置charcharAt(intindex)返回字符串中index位置上的字符,其中index的取值范圍是0~(字符串長度-1)String類為了方便操作和處理字符串,String類提供了一系列常用的方法,包括查找、替換、比較和截取等操作。方法聲明功能描述Stringsubstring(int

beginIndex)返回一個(gè)新字符串,它包含從指定的beginIndex處開始,直到此字符串末尾的所有字符Stringsubstring(intbeginIndex,intendIndex)返回一個(gè)新字符串,它包含從指定的beginIndex處開始,直到索引endIndex-1處的所有字符Stringreplace(CharSequenceoldstr,CharSequence

newstr)使用newstr替換字符串中的oldstr,返回一個(gè)新的字符串String

trim()去除了原字符串首尾的空格String

toLowerCase()使用默認(rèn)語言環(huán)境的規(guī)則將String中的所有字符都轉(zhuǎn)換為小寫String

toUpperCase()使用默認(rèn)語言環(huán)境的規(guī)則將String中的所有字符都轉(zhuǎn)換為大寫String類【編程避坑小指南】在

Java中,若運(yùn)算符“+”的兩側(cè)操作數(shù)至少有一個(gè)為

String

類型,則該運(yùn)算符會(huì)將所有操作數(shù)轉(zhuǎn)換為字符串并進(jìn)行拼接。這種特性允許開發(fā)者便捷地將不同類型的數(shù)據(jù)組合成文本輸出,而非字符串類型的操作數(shù)會(huì)自動(dòng)調(diào)用其

toString()

方法轉(zhuǎn)換為字符串后參與拼接。String類1. 字符串的使用publicclassExample6_1{publicstaticvoidmain(String[]args)

{//TODOAuto-generatedmethod

stubStringstr

="Hello,

World!";//定義一個(gè)字符串變量//

獲取字符串長度intlength=str.length();

//調(diào)用length()方法獲取字符串長度System.out.println("字符串長度:"

+length);//

打印字符串長度//

獲取特定位置的字符char

charAt2=str.charAt(2);

//調(diào)用charAt()方法獲取索引為2的字符System.out.println("索引2處的字符:"

+charAt2);//打印指定索引處的字符//

截取子字符串StringsubStr

=str.substring(7,12);

//調(diào)用substring()方法截取索引7到12的子字符串System.out.println("截取的子字符串:

"

+subStr);//打印截取的子字符串//

替換字符String

replacedStr

=

str.replace("World",

"Java");

//

調(diào)用replace()方法替換字符串中的內(nèi)容System.out.println("替換后的字符串:"

+replacedStr);//

打印替換后的字符串//

轉(zhuǎn)換為小寫String

lowerStr

=

str.toLowerCase();//調(diào)用toLowerCase()方法將字符串轉(zhuǎn)換為小寫System.out.println("轉(zhuǎn)換為小寫后的字符串:"

+lowerStr);

//打印小寫字符串//

轉(zhuǎn)換為大寫String

upperStr

=str.toUpperCase();

//調(diào)用toUpperCase()方法將字符串轉(zhuǎn)換為大寫System.out.println("轉(zhuǎn)換為大寫后的字符串:

"

+upperStr);//打印大寫字符串}}String類1. 字符串的使用通過一個(gè)案例練習(xí)String類的常用方法。任務(wù)六

Java常用API“繩章匠韻,煉字強(qiáng)基”-字符串類

之StringBuffer類學(xué)習(xí)目標(biāo)掌握StringBuffer類的使用,能夠熟練使用StringBuffer類對字符串進(jìn)行操作。StringBuffer類在Java編程中,String類所創(chuàng)建的字符串對象具有不可變性,即一旦對象被構(gòu)造完成,其內(nèi)容便無法被修改。這不僅會(huì)迅速消耗大量內(nèi)存資源,還會(huì)因?yàn)轭l繁的對象創(chuàng)建與銷毀過程,對CPU性能造成負(fù)面影響,進(jìn)而降低程序的整體運(yùn)行效率。為了應(yīng)對這一挑戰(zhàn),Java語言引入了StringBuffer類。StringBuffer類StringBuffer類允許其內(nèi)部存儲的字符串內(nèi)容以及字符串長度在對象創(chuàng)建后仍然能夠被動(dòng)態(tài)修改。這一特性使得StringBuffer類在需要頻繁進(jìn)行字符串操作的場景中,成為了更為高效和內(nèi)存友好的選擇。StringBuffer類StringBuffer類提供了一系列高效地處理字符串的方法,常用方法如下表所示。方法聲明功能描述StringBuffer()創(chuàng)建初始容量為16,不含任何內(nèi)容的字符串緩沖區(qū)StringBuffer(int

capacity)創(chuàng)建初始容量為capacity,不含任何內(nèi)容的字符串緩沖區(qū)StringBuffer(String

s)創(chuàng)建初始容量為參數(shù)s的長度+16,內(nèi)容為s的字符串緩沖區(qū)intcapacity()獲取字符串緩沖區(qū)的當(dāng)前容量StringBufferappend(char

c)添加參數(shù)到StringBuffer對象中StringBufferinsert(intoffset,String

str)在字符串的offset位置插入字符串strvoidsetCharAt(intindex,char

ch)修改指定位置index處的字符序列StringBuffer類接上頁表格。方法聲明功能描述StringBufferreplace(intstart,intend,String

s)在StringBuffer對象中替換指定的字符或字符串序列StringBufferdeleteCharAt(int

index)移除此序列指定位置的字符StringBufferdelete(intstart,int

end)刪除StringBuffer對象中指定范圍的字符或字符串序列String

toString()返回StringBuffer緩沖區(qū)中的字符串StringBufferreverse()反轉(zhuǎn)字符串StringBuffer類案例演示下面通過一個(gè)案例演示StringBuffer類常用方法的使用。publicclassExample6_2{publicstaticvoidmain(String[]args)

{StringBufferstringBuffer=newStringBuffer("我愛祖國");System.out.println("1.添加操作------------------");stringBuffer.append("繁榮昌盛");

//

在字符串末尾追加"繁榮昌盛"System.out.println("在末尾添加字符串的結(jié)果:

"+

stringBuffer.toString());

//

輸出添加后的字符串stringBuffer

=

new

StringBuffer("我愛祖國");

//

重新創(chuàng)建一個(gè)初始值為"我愛祖國"的StringBuffer對象stringBuffer.insert(2,"偉大的");//在索引為2的位置插入"偉大的"System.out.println("第2個(gè)位置插入字符串的結(jié)果:

"

+

stringBuffer.toString());

//

輸出插入后的字符串System.out.println("2.

修改操作------------------");stringBuffer

=

new

StringBuffer("我愛祖國");

//

重新創(chuàng)建一個(gè)初始值為"我愛祖國"的StringBuffer對象stringBuffer.setCharAt(2,

'中');//將索引為2的字符修改為'中'System.out.println("修改第2個(gè)字符的結(jié)果:"+

stringBuffer.toString());//

輸出修改后的字符串stringBuffer

=

new

StringBuffer("我愛祖國");//

重新創(chuàng)建一個(gè)初始值為"我愛祖國"的StringBuffer對象stringBuffer.replace(2,4,"中華");//將索引2到4(不包括4)的字符替換為"中華"System.out.println("替換第3到第4個(gè)字符的結(jié)果:

"

+

stringBuffer.toString());

//

輸出替換后的字符串StringBuffer類案例演示下面通過一個(gè)案例演示StringBuffer類常用方法的使用。stringBuffer

=

new

StringBuffer("我愛祖國");//

重新創(chuàng)建一個(gè)初始值為"我愛祖國"的StringBuffer對象stringBuffer.reverse();

//反轉(zhuǎn)字符串System.out.println("反轉(zhuǎn)字符串的結(jié)果:"+stringBuffer.toString());

//輸出反轉(zhuǎn)后的字符串System.out.println("3.

刪除操作------------------");stringBuffer

=

new

StringBuffer("我愛祖國");//

重新創(chuàng)建一個(gè)初始值為"我愛祖國"的StringBuffer對象stringBuffer.deleteCharAt(2);//刪除索引為2的字符System.out.println("刪除第3個(gè)字符的結(jié)果:"+

stringBuffer.toString());//

輸出刪除后的字符串stringBuffer

=

new

StringBuffer("我愛祖國");

//

重新創(chuàng)建一個(gè)初始值為"我愛祖國"的StringBuffer對象stringBuffer.delete(1,

4);//刪除索引1到4(不包括4)的字符System.out.println("刪除第2到第4個(gè)字符的結(jié)果:

"+

stringBuffer.toString());

//

輸出刪除后的字符串}}StringBuffer類案例演示下面通過一個(gè)案例演示StringBuffer類常用方法的使用。StringBuffer類需要注意的是,在使用StringBuffer類的replace()方法時(shí),傳入的位置范圍是從開始位置到結(jié)束位置之前一個(gè)的字符。例如,在文件Example6_2.java的第25行代碼中,傳入的位置范圍為2到4,實(shí)際上是替換字符串中的第2個(gè)到第3個(gè)字符,而不是第2個(gè)到第4個(gè)字符。任務(wù)六

Java常用API“繩章匠韻,煉字強(qiáng)基”-字符串類

之StringBuilder類學(xué)習(xí)目標(biāo)掌握StringBuilder類的使用,能夠熟練使用StringBuilder類對字符串進(jìn)行操作。StringBuilder類StringBuilder類與StringBuffer類非常相似,也用于表示可變字符序列。然而,StringBuilder不是線程安全的,因此在多線程環(huán)境中使用時(shí)需要注意。由于StringBuilder不進(jìn)行同步,所以在單線程環(huán)境中它比StringBuffer性能更高。StringBuilder類的方法與StringBuffer類幾乎完全相同,因此這里不再重復(fù)列出。StringBuilder類字符串類String類String類字符串對象不可變,僅用于表示數(shù)據(jù)類型。StringBuffer類StringBuffer類可以創(chuàng)建可變的字符串對象,是線程安全的。在多線程環(huán)境下,可以更安全的操作字符串。StringBuilder類StringBuilder類可以創(chuàng)建可變的字符串對象,是非線程安全的。在單線程環(huán)境下,代碼性能更高。StringBuilder類提供了與StringBuffer類相似的方法用于操作字符串。StringBuilder類關(guān)于String類、StringBuffer類和StringBuilder類的使用時(shí)的注意事項(xiàng)。(1)在StringBuffer類與StringBuilder類中并沒有對Object類的equlas()方法重寫,具體示例如下。Strings1=newString("abc");Strings2=newString("abc");System.out.println(s1.equals(s2));//結(jié)果為trueStringBuffers3=newStringBuffer("abc");StringBuffers4=newStringBuffer("abc");System.out.println(s3.equals(s4));

//結(jié)果為falseStringBuilders5=newStringBuilder("abc");StringBuilders6=newStringBuilder("abc");System.out.println(s5.equals(s6));

//結(jié)果為falseStringBuilder類關(guān)于String類、StringBuffer類和StringBuilder類的使用時(shí)的注意事項(xiàng)。(2)String類對象可以用操作符“+”進(jìn)行連接,而StringBuffer類和StringBuilder對象之間不能。思政小課堂--技術(shù)選型背后的資源責(zé)任與可持續(xù)思維某電商平臺用

String拼接

“用戶訂單詳情”(含商品名、數(shù)量、價(jià)格等

100

+

字段),因

String

不可變導(dǎo)致頻繁創(chuàng)建對象,服務(wù)器內(nèi)存占用過高,出現(xiàn)卡頓,影響用戶購物體驗(yàn)思考?為什么用StringBuffer/StringBuilder

拼接高頻文本更高效?資源節(jié)約對用戶體驗(yàn)、系統(tǒng)穩(wěn)定有什么意義?”思政小課堂--技術(shù)選型背后的資源責(zé)任與可持續(xù)思維StringBuffer與StringBuilder的選型,從不是“線程安全”與“性能”的簡單抉擇,而是對“資源效率“與“系統(tǒng)可持續(xù)”的責(zé)任權(quán)衡——考驗(yàn)的是開發(fā)者對“有限資源如何服務(wù)更多需求”的深層思考。單線程場景選StringBuilder,無鎖特性避免冗余開銷,讓CPU、內(nèi)存聚焦文本處理核心需求,如同“按需用電”不浪費(fèi)能源;多線程場景選StringBuffer,同步機(jī)制看似犧牲性能,實(shí)則守護(hù)資源有序使用,防止數(shù)據(jù)錯(cuò)亂與重構(gòu)浪費(fèi),恰似交通紅綠燈“以短期減速換整體高效”。這種“按需選型”的邏輯,正是社會(huì)“可持續(xù)發(fā)展”理念的技術(shù)映射:企業(yè)按需配設(shè)備、政府按需建設(shè)施,皆是以需求定資源、以效率促長久。對開發(fā)者而言,這不是技術(shù)偏好,而是職業(yè)責(zé)任——系統(tǒng)資源有限,精準(zhǔn)選型讓資源用在刀刃上,才能高效服務(wù)用戶、保障系統(tǒng)長期穩(wěn)定。尤其在數(shù)字化時(shí)代,千萬級用戶規(guī)模下,微小選型差異可能放大為巨大資源消耗:內(nèi)存過高推高服務(wù)器成本,性能卡頓導(dǎo)致用戶流失。此時(shí)“按需選型”不再是細(xì)節(jié),而是對企業(yè)成本、用戶權(quán)益、社會(huì)資源的多重負(fù)責(zé)。正如節(jié)約水電是生活責(zé)任,精準(zhǔn)優(yōu)化資源,便是開發(fā)者用技術(shù)助力可持續(xù)發(fā)展的擔(dān)當(dāng)。任務(wù)六

Java常用API“數(shù)理精研,算核筑基”-Math類

之常用方法1學(xué)習(xí)目標(biāo)掌握Math類的使用,能夠使用Math類進(jìn)行基本的數(shù)學(xué)運(yùn)算Math類Math類堪稱一個(gè)功能強(qiáng)大的工具集合類,它囊括了眾多用于執(zhí)行基礎(chǔ)數(shù)值計(jì)算的操作方法。比如,能夠計(jì)算一個(gè)數(shù)值的平方根,或者獲取某個(gè)數(shù)的絕對值等。Math類里的所有方法均被設(shè)定為靜態(tài)方法,這意味著我們無需創(chuàng)建該類的實(shí)例,直接憑借類名就能調(diào)用這些方法。除此之外,Math類內(nèi)部還定義了兩個(gè)頗為實(shí)用的靜態(tài)常量,即PI和E,它們分別對應(yīng)著數(shù)學(xué)領(lǐng)域中的圓周率π以及自然常數(shù)e。Math類--取絕對值、最大值、最小值方法常用方法如下表所示。方法聲明功能描述abs(doublea)用于計(jì)算double類型的a的絕對值abs(inta)用于計(jì)算int類型的a的絕對值max(doublea,double

b)用于返回double類型的a和b的較大值max(inta,intb)用于返回int類型的a和b的較大值min(inta,intb)用于返回int類型的a和b的較小值min(doublea,double

b)用于返回double類型的a和b的較小值Math類--取絕對值、最大值、最小值方法案例演示下面通過一個(gè)案例演示Math類取絕對值、最大值、最小值常用方法的使用。publicclassExample6_3{publicstaticvoidmain(String[]args)

{int

intA

=

-10;

//

定義一個(gè)整型變量intA并賦值為-10int

intB

=

20;

//

定義一個(gè)整型變量intB并賦值為20double

doubleA

=

-15.5;

//

定義一個(gè)雙精度浮點(diǎn)型變量doubleA并賦值為-15.5double

doubleB

=

25.5;

//

定義一個(gè)雙精度浮點(diǎn)型變量doubleB并賦值為25.5int

intAbsA

=Math.abs(intA);

//使用Math.abs()方法獲取intA的絕對值int

intAbsB=

Math.abs(intB);

//

使用Math.abs()方法獲取intB的絕對值double

doubleAbsA

=

Math.abs(doubleA);

//

使用Math.abs()方法獲取doubleA的絕對值double

doubleAbsB=

Math.abs(doubleB);

//

使用Math.abs()方法獲取doubleB的絕對值int

maxInts

=

Math.max(intA,

intB);

//

使用Math.max()方法獲取intA和intB中的較大值double

maxDoubles

=

Math.max(doubleA,

doubleB);

//

使用Math.max()方法獲取doubleA和doubleB中的較大值int

minInts=Math.min(intA,

intB);

//使用Math.min()方法獲取intA和intB中的較小值double

minDoubles

=

Math.min(doubleA,

doubleB);

//

使用Math.min()方法獲取doubleA和doubleB中的較小值System.out.println("intA

的絕對值是:"

+intAbsA);

//打印intA的絕對值System.out.println("intB的絕對值是:"

+intAbsB);

//打印intB的絕對值System.out.println("doubleA

的絕對值是:"

+doubleAbsA);

//打印doubleA的絕對值System.out.println("doubleB的絕對值是:"

+

doubleAbsB);

//打印doubleB的絕對值System.out.println("intA

intB

中的較大值是:

"+

maxInts);

//

打印intA和intB中的較大值System.out.println("doubleA

doubleB

中的較大值是:

"

+

maxDoubles);//

打印doubleA和doubleB中的較大值System.out.println("intA

intB中的較小值是:"

+

minInts);

//打印intA和intB中的較小值System.out.println("doubleA

doubleB

中的較小值是:

"

+

minDoubles);//

打印doubleA和doubleB中的較小值}}Math類--取絕對值、最大值、最小值方法案例演示下面通過一個(gè)案例演示Math類取絕對值、最大值、最小值常用方法的使用。Math類--三角函數(shù)方法無論是圖形渲染中的角度旋轉(zhuǎn)、物理模擬中的波動(dòng)分析,還是信號處理中的周期性計(jì)算,三角函數(shù)(如正弦、余弦、正切)都扮演著關(guān)鍵角色。方法聲明功能描述doublesin(doublea)返回參數(shù)a(以弧度為單位)的正弦值doublecos(doublea)返回參數(shù)a(以弧度為單位)的余弦值doubletan(doublea)返回參數(shù)a(以弧度為單位)的正切值doubleasin(doublea)返回參數(shù)a(以弧度為單位)的反正弦值。返回值范圍在-π/2到π/2之間doubleacos(double

a)返回參數(shù)a(以弧度為單位)的反余弦值。返回值范圍在0到π之間doubleatan(double

a)返回參數(shù)a(以弧度為單位)的反正切值。返回值范圍在-π/2到π/2之間Math類--三角函數(shù)方法常用方法如下表所示。方法聲明功能描述doubletoDegrees(double

angrad)將參數(shù)angrad(以弧度為單位)轉(zhuǎn)換為角度doubletoRadians(double

angle)將參數(shù)angle(以角度為單位)轉(zhuǎn)換為弧度Math類--三角函數(shù)方法案例演示下面通過一個(gè)案例演示Math類三角函數(shù)常用方法的使用。publicclassExample6_4

{doublepublicstaticvoidmain(String[]args)

{doubleangleDegrees=45.0;//定義一個(gè)角度變量并賦值為45.0度//

將角度轉(zhuǎn)換為弧度double

angleRadians=

Math.toRadians(angleDegrees);

//使用Math.toRadians()方法將角度轉(zhuǎn)換為弧度//

計(jì)算正弦、余弦和正切值double

sinValue

=

Math.sin(angleRadians);

//

使用Math.sin()方法計(jì)算正弦值double

cosValue

=

Math.cos(angleRadians);

//

使用Math.cos()方法計(jì)算余弦值double

tanValue

=

Math.tan(angleRadians);

//

使用Math.tan()方法計(jì)算正切值//

計(jì)算反正弦、反余弦和反正切值,并轉(zhuǎn)換回角度doubleasinValueDegrees=

Math.toDegrees(Math.asin(sinValue));acosValueDegrees=Math.toDegrees(Math.acos(cosValue));

//使用Math.acos()計(jì)算反余弦值,再轉(zhuǎn)換為角度doubleatanValueDegrees=

Math.toDegrees(Math.atan(tanValue));System.out.println("角度

"+angleDegrees+"度(轉(zhuǎn)換為弧度:"+angleRadians+"弧度)的正弦值是:

"

+

sinValue);System.out.println("角度

"+

angleDegrees+

"度(轉(zhuǎn)換為弧度:"

+

angleRadians+"弧度)的余弦值是:

"

+

cosValue);System.out.println("角度

"+

angleDegrees+

"度(轉(zhuǎn)換為弧度:"

+

angleRadians+"弧度)的正切值是:

"+tanValue);System.out.println("正弦值

"

+

sinValue+

"

的反正弦角度是:

"

+

asinValueDegrees

+

"

度");

//

打印反正弦角度System.out.println("余弦值

"

+cosValue+"

的反余弦角度是:"

+acosValueDegrees

+"

度");

//打印反余弦角度System.out.println("正切值

"

+tanValue+"

的反正切角度是:"

+atanValueDegrees

+"

度");

//打印反正切角度}}Math類--三角函數(shù)方法案例演示下面通過一個(gè)案例演示Math類三角函數(shù)常用方法的使用。任務(wù)六

Java

API“數(shù)理精研,算核筑基”-Math類

之常用方法2Math類--取整方法在數(shù)值處理的日常需求中,取整操作是連接浮點(diǎn)數(shù)與整數(shù)的橋梁,Java的Math類為此提供了多種靈活的方法。方法聲明功能描述doubleceil(double

a)返回大于或等于參數(shù)a的最小整數(shù)(即向上取整)doublefloor(double

a)返回小于或等于參數(shù)a的最大整數(shù)(即向下取整)longround(double

a)返回最接近參數(shù)a的long型整數(shù),使用四舍五入的方式Math類--取整方法案例演示下面通過一個(gè)案例演示Math類取整方法的使用。publicclassExample6_5{publicstaticvoidmain(String[]args)

{double

number1=

3.2;

//

定義一個(gè)雙精度浮點(diǎn)數(shù)變量并賦值為3.2double

number2

=

-2.8;

//

定義一個(gè)雙精度浮點(diǎn)數(shù)變量并賦值為-2.8double

number3=

7.5;

//

定義一個(gè)雙精度浮點(diǎn)數(shù)變量并賦值為7.5//

使用

ceil方法向上取整double

ceilResult1

=

Math.ceil(number1);

//

使用Math.ceil()方法對number1向上取整double

ceilResult2

=

Math.ceil(number2);

//

使用Math.ceil()方法對number2向上取整//

使用

floor

方法向下取整double

floorResult1

=

Math.floor(number1);

//

使用Math.floor()方法對number1向下取整double

floorResult2

=

Math.floor(number2);

//

使用Math.floor()方法對number2向下取整//

使用

round

方法四舍五入longroundResult1=Math.round(number1);

//使用Math.round()方法對number1四舍五入longroundResult2=Math.round(number2);

//使用Math.round()方法對number2四舍五入longroundResult3=Math.round(number3);

//使用Math.round()方法對number3四舍五入//

輸出結(jié)果System.out.println("數(shù)字

"+number1

+

"

向上取整是:

"+ceilResult1);

//打印number1向上取整的結(jié)果System.out.println("數(shù)字

"+number2

+

"

向上取整是:

"+ceilResult2);

//打印number2向上取整的結(jié)果System.out.println("數(shù)字

"+

number1

+

"

向下取整是:

"+

floorResult1);

//打印number1向下取整的結(jié)果System.out.println("數(shù)字

"+

number2

+

"

向下取整是:

"+

floorResult2);

//打印number2向下取整的結(jié)果System.out.println("數(shù)字

"

+number1

+"

四舍五入是:

"

+roundResult1);

//打印number1四舍五入的結(jié)果System.out.println("數(shù)字

"

+number2

+"

四舍五入是:

"

+roundResult2);

//打印number2四舍五入的結(jié)果System.out.println("數(shù)字

"

+number3

+"

四舍五入是:

"

+roundResult3);

//打印number3四舍五入的結(jié)果}}Math類--取整方法案例演示下面通過一個(gè)案例演示Math類取整方法的使用。Math類--指數(shù)函數(shù)方法在數(shù)值計(jì)算與科學(xué)編程中,指數(shù)函數(shù)是描述增長、衰減、復(fù)利等自然現(xiàn)象的核心工具。Java的Math類通過Math.sqrt()、Math.pow()等方法,提供了對指數(shù)運(yùn)算的直接支持,使開發(fā)者能夠高效處理指數(shù)級增長、概率計(jì)算或物理模擬等場景。方法聲明功能描述doublesqrt(doublea)返回參數(shù)a的平方根doublepow(doublea,double

b)返回a的b次冪的值doublelog(double

a)返回參數(shù)a的自然對數(shù)(以e為底)doublelog10(double

a)返回參數(shù)a的常用對數(shù)(以10為底)Math類--指數(shù)函數(shù)方法案例演示下面通過一個(gè)案例演示Math類指數(shù)函數(shù)方法的使用。publicclassExample6_6{publicstaticvoidmain(String[]args)

{double

number1

=

16.0;//

定義一個(gè)雙精度浮點(diǎn)數(shù)變量并賦值為16.0double

number2

=

2.0;

//

定義一個(gè)雙精度浮點(diǎn)數(shù)變量并賦值為2.0double

number3

=

3.0;

//

定義一個(gè)雙精度浮點(diǎn)數(shù)變量并賦值為3.0double

number4=Math.E;

//

定義一個(gè)雙精度浮點(diǎn)數(shù)變量并賦值為自然對數(shù)的底數(shù)edoublenumber5=

1000.0;

//定義一個(gè)雙精度浮點(diǎn)數(shù)變量并賦值為1000.0//

計(jì)算平方根double

sqrtResult=Math.sqrt(number1);

//使用Math.sqrt()方法計(jì)算number1的平方根//

計(jì)算冪運(yùn)算double

powResult

=Math.pow(number2,

number3);

//使用Math.pow()方法計(jì)算number2的number3次冪//

計(jì)算自然對數(shù)double

logResult=

Math.log(number4);

//使用Math.log()方法計(jì)算number4的自然對數(shù)(即ln(e))//

計(jì)算常用對數(shù)double

log10Result

=

Math.log10(number5);

//

使用Math.log10()方法計(jì)算number5的常用對數(shù)(即log10(1000))//

輸出結(jié)果System.out.println("數(shù)字

"

+number1+"

的平方根是:

"+

sqrtResult);

//打印number1的平方根System.out.println("數(shù)字

"+

number2

+

"的

"+

number3

+

"

次冪是:

"

+

powResult); System.out.println("數(shù)字

"

+number4+"

(即e)的自然對數(shù)是:"

+logResult);

//打印number4(即e)的自然對數(shù)System.out.println("數(shù)字

"

+number5+

"

的常用對數(shù)是:"

+

log10Result);

//打印number5的常用對數(shù)}}Math類--指數(shù)函數(shù)方法案例演示下面通過一個(gè)案例演示Math類指數(shù)函數(shù)方法的使用。思政小課堂--技術(shù)服務(wù)于人、細(xì)節(jié)決定成敗通過寵物領(lǐng)養(yǎng),我們可以實(shí)現(xiàn)寵物體重的查詢,繼而調(diào)整寵物疫苗注射的劑量,若劑量不足,無法激發(fā)寵物的免疫反應(yīng),達(dá)不到預(yù)防疾病的效果;若劑量過量,則可能導(dǎo)致寵物出現(xiàn)過敏、中毒等嚴(yán)重問題,危及生命。在醫(yī)療設(shè)備中,如輸液泵、注射器等,精確的劑量控制至關(guān)重要。Math類中的各種運(yùn)算方法在其中發(fā)揮著關(guān)鍵作用,通過精確的數(shù)學(xué)運(yùn)算,確保藥物劑量的準(zhǔn)確輸送。以輸液泵為例,需要根據(jù)患者的病情、體重等因素,利用Math類的運(yùn)算方法精確計(jì)算輸液速度和藥物劑量,保證患者能夠安全、有效地接受治療。任何計(jì)算上的偏差都可能對患者的健康造成嚴(yán)重影響。思政小課堂--技術(shù)服務(wù)于人、細(xì)節(jié)決定成敗在醫(yī)療和交通等關(guān)鍵領(lǐng)域,技術(shù)不僅僅是冰冷的代碼和算法,更應(yīng)融入人文關(guān)懷。每一位技術(shù)從業(yè)者都是

“生活鐘表”

的匠人:既要始終盯著

“服務(wù)于人”

的目標(biāo),讓所有技術(shù)設(shè)計(jì)都圍繞

“讓人更安全、生活更美好”

展開;更要攥緊

“細(xì)節(jié)”

這把校準(zhǔn)工具,擰緊每一顆螺絲、滴準(zhǔn)每一滴潤滑油、校準(zhǔn)每一處刻度。唯有如此,技術(shù)這臺“精密鐘表”

才能精準(zhǔn)走時(shí),既不偏離“服務(wù)于人”

的方向,也不因?yàn)榧?xì)節(jié)失誤而辜負(fù)人們的信任,真正成為守護(hù)生活的可靠伙伴。任務(wù)六

Java常用API“時(shí)序探微,歷境拓新”-日期時(shí)間類

之Date類日期時(shí)間類在Java開發(fā)中,日期和時(shí)間操作是許多應(yīng)用程序的必備功能,為此Java提供了多個(gè)內(nèi)置日期時(shí)間類,借助這些類可便捷地完成日期時(shí)間的計(jì)算、比較及格式化等操作,以下將對Java中常用的日期時(shí)間類展開講解。學(xué)習(xí)目標(biāo)掌握Date類和Calendar類,能夠使用Date類和Calendar類操作日期和時(shí)間。Date類Date類是Java標(biāo)準(zhǔn)庫中的一部分,用于表示和操作日期和時(shí)間。它提供了一系列方法,用于獲取和設(shè)置日期和時(shí)間的不同部分。Date類可以表示特定的瞬間,精確到毫秒。Date類1.

java.util.Date類java.util.Date類的作用:它既存儲和表示日期,也包含時(shí)間信息,并且其內(nèi)部計(jì)算依賴于系統(tǒng)默認(rèn)時(shí)區(qū)。java.util.Date

所表示的日期時(shí)間是一個(gè)精確到毫秒的瞬間點(diǎn),包含年、月、日、時(shí)、分、秒等多個(gè)部分

。Date類1.

java.util.Date類java.util.Date類提供了兩種常用的構(gòu)造方法:Date()//創(chuàng)建一個(gè)表示當(dāng)前系統(tǒng)時(shí)間的Date對象Date(long

milliseconds)//傳入毫秒數(shù),創(chuàng)建對應(yīng)時(shí)間的Date對象Date類1.

java.util.Date類java.util.Date類提供了一系列方法,用于獲取日期和時(shí)間的方法:方法聲明功能描述getYear()獲取年份getMonth()獲取月份(返回的月份范圍是0-11,實(shí)際月份需要加一)getDate()獲取日期(返回的是月份的日期部分)getHours()獲取小時(shí)(返回的是24小時(shí)制的小時(shí)數(shù))getMinutes()獲取分鐘getSeconds()獲取秒鐘getTime()獲取毫秒數(shù)Date類1.

java.util.Date類設(shè)置日期和時(shí)間:方法聲明功能描述setYear(intyear)設(shè)置年份(需要將實(shí)際年份減去1900)setMonth(intmonth)設(shè)置月份(需要將實(shí)際月份減一)setDate(intdate)設(shè)置日期setTime(long

time)設(shè)置時(shí)間Date類1.

java.util.Date類其他方法:方法聲明功能描述toString()將Date對象轉(zhuǎn)換為字符串表示before(Date

when)測試此日期是否在指定日期之前after(Date

when)測試此日期是否在指定日期之后equals(Objectobj)比較兩個(gè)日期的相等性hashCode()返回Date對象的哈希碼值Date類1.

java.util.Date類下面通過一個(gè)案例演示java.util.Date類一系列常用方法的使用。importjava.util.Date;publicclassExample6_7

{publicstaticvoidmain(String[]args)

{//

創(chuàng)建一個(gè)Date對象,表示當(dāng)前日期和時(shí)間DatecurrentDate=new

Date();//

打印當(dāng)前日期和時(shí)間System.out.println("當(dāng)前日期和時(shí)間:

"

+currentDate);//

獲取年份、月份、日期等//

注意:getYear()返回的是從1900年開始的年數(shù),所以需要加1900得到當(dāng)前年份intyear=currentDate.getYear()+

1900;//

注意:getMonth()返回的是0-11,分別表示1-12月,所以需要加1得到當(dāng)前月份intmonth=currentDate.getMonth()+1;//

getDate()返回的是當(dāng)月的日期(1-31)intdate=currentDate.getDate();System.out.println("當(dāng)前年份:

"

+

year);System.out.println("當(dāng)前月份:

"

+month);System.out.println("當(dāng)前日期:

"

+date);//

注意:setYear()的參數(shù)是從1900年開始的年數(shù),所以120表示2020年currentDate.setYear(120);

//設(shè)置年份為2020年(120+1900)//

注意:setMonth()的參數(shù)是0-11,分別表示1-12月,所以9表示10月currentDate.setMonth(9);//設(shè)置月份為10月(9+1)//

setDate()的參數(shù)是當(dāng)月的日期(1-31)currentDate.setDate(1);

//

設(shè)置日期為1號//

打印修改后的日期和時(shí)間System.out.println("

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論