201521123030《Java程序设计》 第2周学习总结
本周學習總結
String常量,創建之后不能再進行修改
使用+連接字符串會產生新字符串,要大量使用重復性連接應用StringBuilder,檢測字符串相等應用equal方法。
枚舉類型變量的取值在一個有限集合內。
各類循環語句的使用及判斷語句的使用。
ArrayList可以處理大數據的加減,范圍與int,long相比更廣。
Java數組的使用。
類管理機制:包。
1.使用Eclipse關聯jdk源代碼(截圖),并查看String對象的源代碼?簡單分析String對象的設計思路。
2.為什么要盡量頻繁的對字符串的修改操作應該是用StringBuilderS而不是String?
String是不可變成長度的,每次改變會產生新的字符串,頻繁對字符串操作會產生大量字符串。
3比較兩個字符串的值是否相等?為什么不能用==直接進行比較?
如果字符串是String=“abc”;賦值時,==會判斷池中是否是相等的,但如果是new String 即使池中也false。4.嘗試使用字符串池的概念解釋如下程序段輸出結果,并回答這段代碼創建了幾個字符串對象
String str1 =“hi“, str2=“hi“;
String str3 = new String(str1)
System.out.println(str1==str2);、
5.Integer i = 100;//100是基本類型,i是引用類型,為什么可以將100賦值給i
lnterger是int的擴展(封裝類),是一個類,用來類型轉換。
6.嘗試分析下面代碼輸出結果
Integer i1 = 127;Integer i2 = 127;
i1 == i2;//true of false?
Integer i1 = 128;Integer i2 = 128;
i1 == i2;//true of false
第一個是true,第二個是false
JVM會自動維護八種基本類型的常量池,int常量池中初始化-128~127的范圍,所以當為Integer i=127時,在自動裝箱過程中是取自常量池中的數值,而當Integer i=128時,128不在常量池范圍內,所以在自動裝箱過程中需new 128, 所以地址不一樣。
7.package與javac、 java、 -classpath、 -d
在 com.ibm包中編寫 StringUtil類,內有一方法
public static void foo1(){
System.out.println(StringUtil.class+" method:foo1");
}
在edu.jmu包中編寫Main類,其中掉了com.ibm.StringUtil的foo1方法
7.1 嘗試用命令行進行編譯并運行,截圖
7.2 將生成的StringUtil.class放到d盤的lib目錄下,將Main.class在d:\test目錄下,嘗試命令行下運行,截圖。
8.自己在這門課的目標與計劃
請描述一下你的技術基礎(會什么語言,都寫了多少行代碼)
一周準備花多少時間在這門課上?一周準備寫多少行代碼?采用怎樣的學習方式?遇到困難打算怎樣解決?
關于這門課的smart目標參考鏈接
好像。。沒有會的,都很水,努力ing
目前一周,十幾個小時以上了吧,代碼在盡力,畢竟大部分打的都不對,方法,敲代碼,遇到問題解決問題吧。
9.選做:公交卡里應該還有多少錢?請分析原因
浮點數據小數點位置錯
轉載于:https://www.cnblogs.com/lamfinethinkyou/p/6497743.html
總結
以上是生活随笔為你收集整理的201521123030《Java程序设计》 第2周学习总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bzoj2746: [HEOI2012]
- 下一篇: 你不知道的Javascript之原型