201621123009 《Java程序设计》第二周学习总结
1、本周學習總結:
開學第二周,進一步了解了“java”,學習了“java數據類型”,字符串常量池,String的不變性、
StringBuilder:頻繁對字符串進行修改。java是面向對象,連基本類型都有對應的包裝類(Integer是int的包裝類)
自動裝箱與自動拆箱(將Integer自動轉換成int);一維數組和String一樣數組也是類。foreach循環的格式:for(type element:arr)
ArrayList:數組一旦確定大小,無法改變。
“==”與“equals”的不同,前者是比較兩個引用類型變量存放的引用(地址)是否相等;而后者則是比較所指向的對象的內容是否相等。
數組的長度:數組名.length
起點: 數組名[0] 終點: 數組名[length-1]
2、String-使用Eclipse關聯jdk源代碼
1.1 查看String對象的源代碼(截圖)
1.2 分析其構造函數public String(char value[]).的作用?
該函數的作用是通過char數組,生成String字符串對象。
1.3 閱讀public String replace(char oldChar, char newChar)方法的代碼,回答String的不可變性在該函數中如何體現?
答:在這個函數中 String 作為一個字符數組,所以在被初始化后就不可以被修改,如果用String直接改變內容,則會出現一個新的數組,而原數組不改變,更不會消失。這就充分體現了String的不可變性。
1.4 簡述String與字符數組的關系,使用字符數組就可以處理字符串,為什么還需要String呢?
答:String與字符數組可以相互轉換。主要是利用了String的不可變性。
2、String Builder
2.1 結合PTA-(String Bulider),說明為什么頻繁修改字符串時,應該使用StringBulider而不是String?
答:主要是因為 String具有不可變性這一重要的特點,所以在頻繁修改字符串時,如果使用 String 則會達不到我們修改的目的,從而時程序運行效率降低,而StringBulider則會避免產生大量的新的字符串。
2.2 閱讀jdk文檔,查詢StringBulider的 append(char[] str)方法功能是什么?
答:功能是為了讓這個數組參數中所含的字符的順序添加到這個序列的內容,從而使這個序列的長度增加。
3、字符串與字符串池
3.1嘗試使用字符串池的概念解釋如下程序輸出結果,并回答這段代碼創建了幾個字符串對象?
String strl = "hi", str2 = “hi”; String str3 = new String(strl) System.out.println(str1==str2);
答:由字符串池的概念知,該程序中共創建了兩個字符串對象,并且str1和str2的地址相同,而str3為新建字符串。
3.2重點:對基本類型我們可以使用==比較兩個值是否相等,對于引用類型(如String 、Integer、數組等)為什么不能使用==比較?應該怎樣比較他們的值是否相等?
答:因為“==”適用于比較兩個引用類型變量存放的引用(地址)是否相等,而“equals”:是用來比較所指向的對象的內容是否相等。
所以引用類型(如String、Integer)應用“equals”來比較合適。
4、Wrapper(包裝類)
4.1 Integer i = 100;//100是基本類型,i是引用類型,為什么可以將100賦值給i?Integer x = 100; int y = x+1;x++;這一串命令中包含了些什么操作?
答:調用了Integer的valueOf()方法 ,形式如:public static Integer valueOf(int i),返回值為一個Integer
4.2 Java為什么有了基本數據類型,還需要其包裝類呢?
答:因為Integer是int的包裝類,i存放指向對象的引用,包裝類中有“自動裝箱”與“自動拆箱”,主要是基本數據類型與引用類型的相互自動轉換。
5.2 PTA-1綜合小測驗
答: 使用 ``switch(choice) `` 語句進行選擇性地輸入`` fib、sort、search`` 。由題目的輸入格式是由按行輸入,所以我們需要使用`` sc.nextLine``然后把它轉化為整型。sort需要字符串轉化為數,使用``line.aplit( )`` 將字符串用空格拆開。調用``Arrays.sort(digits)``。search需要調用 ``Arrays.binarySearch(digits,digit)``二分搜索。5.3 PTA-3身份證排序。并回答:使用sort2方法進行排序可以對出生年月日進行升序排序,如果現在有需要對其進行降序排序,或者按照其中的出生月份排序,怎么解決呢?
答:使用選擇排序``SelectSort(RecType R[ ], int n).5.5 (重點:小測題目)PTA-8 ArrayList入門。并回答:為什么有了數組還要使用ArrayList?
答: ArrayList 中必須要有足夠多的數據,如果沒有任何數據則會出現異常的現象,使用 ArrayList基本的有:添加數據list.add( ),
刪除數據List.remore( ) or List.remore All( )、 清空數據list.clear( )、修改數據list.set( ) 、 以及查詢數據 String ele = list.get( )。
3碼云及PTA
3.1碼云代碼提交記錄
在碼云的項目中,依次選擇“統計-Commits”歷史-設置時間段”然后搜索并截圖
3.2 截圖“java基本語法,PTA提交記錄”:
3、3代碼統計
轉載于:https://www.cnblogs.com/288myl/p/7577122.html
總結
以上是生活随笔為你收集整理的201621123009 《Java程序设计》第二周学习总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 51nod 1486 大大走格子(DP+
- 下一篇: ::的类名前有个 ,什么意思?