日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Week02-Java基本语法与类库

發(fā)布時(shí)間:2023/11/27 生活经验 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Week02-Java基本语法与类库 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一. 本周學(xué)習(xí)總結(jié)

本周學(xué)習(xí)了Java的基本數(shù)據(jù)類型,常量池等概念,然后介紹了包裝類等

二. 書面作業(yè)

1. String-使用Eclipse關(guān)聯(lián)jdk源代碼

1.1 查看String對(duì)象的源代碼(截圖),分析String使用什么來存儲(chǔ)字符串?

用final關(guān)鍵字修飾的的字符數(shù)組

1.2 分析其構(gòu)造函數(shù)public String(char value[])的作用?

傳入字符數(shù)組,在構(gòu)造函數(shù)的作用下生成String對(duì)象

1.3 閱讀public String replace(char oldChar, char newChar)方法的代碼,回答String的不可變性在該函數(shù)中如何體現(xiàn)?(重點(diǎn))

public class Main {public static void main(String[] args) {String Str = new String("ABC");System.out.print("返回 :" );System.out.println(Str.replace('A', 'a'));System.out.print("返回 :" );System.out.println(Str.replace('B', 'b'));}
}
返回 :aBC
返回 :AbC

replace()這個(gè)方法把新的字符替換要替換掉的舊字符,然后返回一個(gè)新的字符。上述例子中,原字符串沒有改變,而是產(chǎn)生了新的字符串,體現(xiàn)了String的不可變性。

1.4 簡述String與字符數(shù)組的關(guān)系,使用字符數(shù)組就可以處理字符串,為什么還需要String呢?

字符串是一個(gè)類,而字符數(shù)組是數(shù)組。一個(gè)是String類型的,一個(gè)是char類型的。字符串和數(shù)組之間可以互相轉(zhuǎn)換。深入一點(diǎn)的話,字符串也是由字符數(shù)組來實(shí)現(xiàn)的。使用字符串比較方便一些可以加快字符處理速度,數(shù)組的話比較靈活,可以改變里面的內(nèi)容。

2. StringBuilder

2.1 結(jié)合PTA -2(StringBuilder) ,說明為什么頻繁修改字符串時(shí),應(yīng)該使用StringBuilder而不是String?

String對(duì)字符串進(jìn)行修改操作的時(shí)候,返回了新的字符串,試想有大量字符串進(jìn)行拼接,那么會(huì)新生成很多對(duì)象,雖然系統(tǒng)有自動(dòng)回收機(jī)制,但把字符串寫入內(nèi)存,接著又進(jìn)行清理原來的對(duì)象,然后又新建String對(duì)象,讀取數(shù)據(jù)給新的對(duì)象。這樣的操作效率低。而StringBuilder提供了append的方法,對(duì)已經(jīng)有的對(duì)象直接進(jìn)行修改操作,二者在字符串進(jìn)行大量操作的時(shí)候差距就會(huì)顯現(xiàn)出來了

2.2 閱讀jdk文檔,查詢StringBuilder的append(char[] str)方法功能是什么?試分析StringBuilder內(nèi)部使用什么來存放字符?調(diào)用StringBuilder的append(char[] str)方法時(shí),是如何實(shí)現(xiàn)添加字符的操作?

java.lang.StringBuffer.append(char[] str) 方法追加char數(shù)組,即str參數(shù)為這個(gè)序列的字符串表示形式。數(shù)組參數(shù)的字符追加的順序到這個(gè)序列的內(nèi)容。這個(gè)序列
以該參數(shù)的長度增加它的長度。

內(nèi)部的話是使用字符數(shù)組來實(shí)現(xiàn)的。當(dāng)我們輸入字符后,先把字符添加到緩沖區(qū),然后轉(zhuǎn)換成字符數(shù)組添加到StringBuilder對(duì)象中去

  • str -- The characters to be appended.

3. 字符串與字符串池

3.1 嘗試使用字符串池的概念解釋如下程序段輸出結(jié)果,并回答這段代碼創(chuàng)建了幾個(gè)字符串對(duì)象:

String str1 ="hi", str2="hi"; String str3 = new String(str1);System.out.println(str1==str2);
返回結(jié)果為true 創(chuàng)建了1個(gè)對(duì)象

3.2 重點(diǎn):對(duì)基本類型我們可以使用==比較兩個(gè)值是否相等,對(duì)于引用類型(如String, Integer、數(shù)組等)為什么不能使用==比較?應(yīng)該怎樣比較他們的值是否相等呢?

“==”比較的是倆個(gè)字符串的內(nèi)存地址是否相同,倆個(gè)字符串內(nèi)容相等,內(nèi)存地址有可能是不同的。equal()方法可以來比較他們的值

4.Wrapper(包裝類)

4.1 Integer i = 100;//100是基本類型,i是引用類型,為什么可以將100賦值給i?Integer x = 100; int y = x+1;x++;這一串命令中包含了些什么操作?

用到了自動(dòng)裝箱,可以將數(shù)據(jù)類型自動(dòng)轉(zhuǎn)換成相應(yīng)的對(duì)象
Integer x = 100; int y = x+1;x++;先自動(dòng)裝箱然后自動(dòng)拆箱,最后以惡搞先拆后裝

5.結(jié)對(duì)編程

結(jié)對(duì)隊(duì)友:張?zhí)K濤
倆個(gè)人討論了一下第一題,他用的是那個(gè)冒泡排序法,感覺思路很好,倆個(gè)人先討論思路,然后我們分別按照對(duì)方的思路來做題目。哈哈哈,第一次來這種嘗試,感覺還是很6的。以后期待多合作。

5. 實(shí)驗(yàn)總結(jié)

5.1 PTA-1綜合小測驗(yàn)

斐波那契用遞歸的方法。Array.toString()可以把數(shù)組內(nèi)的元素用[]進(jìn)行包裹。身份證截取的話用了str.substring()

5.2 身份證排序。并回答:使用sort2方法進(jìn)行排序可以對(duì)出生年月日進(jìn)行升序排序,如果現(xiàn)在有需要對(duì)其進(jìn)行降序排序,或者按照其中的出生月份排序,怎么###解決呢?

剛剛開始想的是身份證排序,利用正則來篩選身份證,后面發(fā)現(xiàn)并不是你想的這樣,只是告訴你身份證是18位而已。因?yàn)榭紤]到輸入的時(shí)候有x,就把輸入的身份證當(dāng)成字符串輸入存在數(shù)組中,然后再截取出生年月轉(zhuǎn)換成整形存在另外2個(gè)數(shù)組中。對(duì)存整形的進(jìn)行排序,然后和另外一個(gè)數(shù)組來進(jìn)行對(duì)比。來得出排序后的序號(hào)對(duì)應(yīng)排序前的序號(hào)。比如1(排序后)--->2(排序前) 2 --->3 3-->1 ,把2,3,1存起來。輸入sort1,那就,那就截取相應(yīng)地方來,按照序號(hào)輸出,sort2也是。
這題的話采用冒泡排序應(yīng)該也是可以的。后面多看看別人的思路,多學(xué)習(xí)一下吧。如果采用降序的話,第一時(shí)間想到的就是先進(jìn)行升序,首末交換序號(hào)。只能想到這個(gè)土方法了。

5.3(大整數(shù)相加)

這個(gè)題的話就是。和普通的差不多吧
參考鏈接
參考鏈接

5.4 (重點(diǎn):小測題目)PTA-8 ArrayList入門。

這題相對(duì)來說比較簡單,主要是格式輸出的問題。

5.5(重點(diǎn):小測題目)PTA-8 ArrayList入門。并回答:為什么有了數(shù)組還要使用ArrayList?

要熟練的使用Arraylist的方法,我們一般數(shù)組長度定義后就是不可以變,ArrayList可以動(dòng)態(tài)增長,所以無法確定數(shù)組的時(shí)候最好用ArrayList

6. 選做:公交卡里應(yīng)該還有多少錢?請(qǐng)分析原因

-0.1(元)
有可能是無符號(hào)浮點(diǎn)數(shù)下溢

三. Github及PTA

3.1 碼云代碼提交記錄

3.2 在碼云的項(xiàng)目中,依次選擇“統(tǒng)計(jì)-Commits歷史-設(shè)置時(shí)間段”,然后搜索并截圖

3.3 截圖題集“Java基本語法”PTA提交列表

3.4 使用老師發(fā)的jar程序統(tǒng)計(jì)每周的代碼量

行數(shù)新增行數(shù)文件數(shù)新增文件數(shù)
48448463

轉(zhuǎn)載于:https://www.cnblogs.com/dycsy/p/7582096.html

總結(jié)

以上是生活随笔為你收集整理的Week02-Java基本语法与类库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。