201621123085 《Java程序设计》第2周学习总结
---恢復(fù)內(nèi)容開始---
1. 本周學(xué)習(xí)總結(jié)
這周我們學(xué)習(xí)了兩種不同的數(shù)據(jù)類型,一種為基本數(shù)據(jù)類型,一種為引用數(shù)據(jù)類型。其中布爾型是Java特有的數(shù)據(jù)類型,它取值只有true和false。引用類型類似于c中的指針。其中字符串類型string是最常用引用類型之一。這兩種數(shù)據(jù)類型相對于c中能更好的處理問題。
2. 書面作業(yè)
String-使用Eclipse關(guān)聯(lián)jdk源代碼
1.1 查看String對象的源代碼(截圖),分析String使用什么來存儲字符串?
##
根據(jù)string源代碼分析,string使用字符數(shù)組來存儲字符串。
1.2 分析其構(gòu)造函數(shù)public String(char value[])的作用?
##該函數(shù)的作用是通過char數(shù)組,生成String字符串對象,接口中的參數(shù)是一個(gè)char數(shù)組。
1.3 閱讀public String replace(char oldChar, char newChar)方法的代碼,回答String的不可變性在該函數(shù)中如何體現(xiàn)?(重點(diǎn))
##string在這個(gè)函數(shù)中通過使用字符數(shù)組來存儲,一旦創(chuàng)建后內(nèi)容就無法改變,如果直接改變string內(nèi)容,則會出現(xiàn)新的一個(gè)字符數(shù)組。
1.4 簡述String與字符數(shù)組的關(guān)系,使用字符數(shù)組就可以處理字符串,為什么還需要String呢?
##string類具有不可變形,用string更直接更方便。
2.1 結(jié)合PTA -2(StringBuilder) ,說明為什么頻繁修改字符串時(shí),應(yīng)該使用StringBuilder而不是String?
##StringBuilde的內(nèi)部實(shí)現(xiàn)方式和String不同,StringBuilde在進(jìn)行字符串處理時(shí),不生成新的對象,在內(nèi)存使用上要優(yōu)于String類。所以在實(shí)際使用時(shí),如果經(jīng)常需要對一個(gè)字符串進(jìn)行修改,例如插入、刪除等操作,使用StringBuilde要更加適合一些。
2.2 閱讀jdk文檔,查詢StringBuilder的append(char[] str)方法功能是什么?試分析StringBuilder內(nèi)部使用什么來存放字符?調(diào)用StringBuilder的append(char[] str)方法時(shí),是如何實(shí)現(xiàn)添加字符的操作?
##將字符數(shù)組序列有序的附加在StringBuilder類中;使用動態(tài)數(shù)組來存放字符。
字符串與字符串池
3.1 嘗試使用字符串池的概念解釋如下程序段輸出結(jié)果,并回答這段代碼創(chuàng)建了幾個(gè)字符串對象:
String str1 ="hi", str2="hi"; String str3 = new String(str1) System.out.println(str1==str2);
根據(jù)字符串池的概念,我們可以知道該程序創(chuàng)建了str1 ,str2兩個(gè)字符串對象,并且地址相同,而str3為新的字符串對象。
3.2 重點(diǎn):對基本類型我們可以使用==比較兩個(gè)值是否相等,對于引用類型(如String, Integer、數(shù)組等)為什么不能使用==比較?應(yīng)該怎樣比較他們的值是否相等呢?
因?yàn)?#61;=是用來判斷兩個(gè)引用類型變量存放的地址是否相等;用equal來比較。
Wrapper(包裝類)
4.1 Integer i = 100;//100是基本類型,i是引用類型,為什么可以將100賦值給i?Integer x = 100; int y = x+1;x++;這一串命令中包含了些什么操作?
## 因?yàn)檫@是Java中的自動裝箱功能;先將100裝箱為integer類型,再將100拆箱為int類型。
4.2 Java為什么有了基本數(shù)據(jù)類型,還需要其包裝類呢?包裝類能給我們帶來什么好處呢?
## 出現(xiàn)了自動拆箱和自動裝箱,大大的縮減了繁瑣的代碼,更加方便了成員員的編程。
實(shí)驗(yàn)總結(jié)
5.1 結(jié)對編程實(shí)踐:使用結(jié)對編程的方式完成本周編程題目,即兩個(gè)人同時(shí)合作完成實(shí)驗(yàn)題目(可1題也可多題,但最好是是兩個(gè)人都沒做過的題目)。推薦實(shí)施步驟:1.兩個(gè)人坐在同一臺電腦屏幕前判題,討論、決定大概由誰先寫。2. 1個(gè)人先編5分鐘(自己商量多少分鐘),同時(shí)另一個(gè)人觀察對方編程或者查相關(guān)資料。3. 5分鐘后,簡單討論后,換另外一個(gè)人繼續(xù)編(請一定要換,另一個(gè)人如果無法接受應(yīng)由第一個(gè)人講解大概思路以方便其接受)。并完成如下作業(yè):a.描述結(jié)對隊(duì)友姓名、結(jié)對過程,提供非擺拍的兩人在討論、細(xì)化和編程時(shí)的結(jié)對照片。b.結(jié)對編程真的能夠帶來1+1>2的效果嗎?通過這次結(jié)對編程,請談?wù)勀愕母惺芎腕w會(如是否有利于自己編程水平的提高、是否有利于開拓編程思路)。
## 額,,首先每個(gè)人對編程的能力不一樣,思路不同,這次的結(jié)對編程,充分感受到了別人的能力是多么強(qiáng)。
5.2 PTA-1綜合小測驗(yàn)
##用switch語句輸入,將字符轉(zhuǎn)換為數(shù),然后使用sort,
5.3 PTA-3身份證排序。并回答:使用sort2方法進(jìn)行排序可以對出生年月日進(jìn)行升序排序,如果現(xiàn)在有需要對其進(jìn)行降序排序,或者按照其中的出生月份排序,怎么解決呢?
##3此題采用選擇排序,運(yùn)用了string類,不清楚
5.4 PTA-4動態(tài)數(shù)組
# 構(gòu)建一個(gè)二維數(shù)組來存放數(shù)據(jù),采用for循環(huán)將數(shù)據(jù)一個(gè)一個(gè)存放
5.5 (重點(diǎn):小測題目)PTA-8 ArrayList入門。并回答:為什么有了數(shù)組還要使用ArrayList?
#ArrayList可以在任意位置插入和刪除項(xiàng),并且對數(shù)據(jù)能執(zhí)行很多的操作,添加數(shù)據(jù),刪除數(shù)據(jù),清空數(shù)據(jù)等。
3. 碼云及PTA
3.1. 碼云代碼提交記錄
3.2 截圖題集“Java基本語法”PTA提交列表
3.3 使用老師發(fā)的jar程序統(tǒng)計(jì)每周的代碼量
| 15 | 15 | 210 | 210 |
轉(zhuǎn)載于:https://www.cnblogs.com/k-wzj/p/7582458.html
總結(jié)
以上是生活随笔為你收集整理的201621123085 《Java程序设计》第2周学习总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Emscripten教程之入门指导
- 下一篇: 获取文件列表