20172327 2017-2018-2 《程序設計與數據結構》第六周學習總結
阿新 • • 發佈:2018-04-15
col 方括號 其中 HR 顏色 font 後來 符號 教材
1.可以用new運算符實例化數組,為數組分配保存值的內存空間。在Java中,數組是必須實例化的對象。
1.所應值可以自動執行邊界檢查,可保證引用數組有效範圍內的索引值。
2.Java有兩種數組聲明方式:第一種是將方括號和數組元素類型相關聯,第二種是將方括號和數組名相關聯。
3.初始值表可以用於實例化一個數組對象,這時不需要用new運算符創建數組對象。
4.整個數組可以作為一個參數傳遞給方法,使方法的形成為原始數組的別名。
1.實例化對象數組只是為了保存對象而預留空間,對每個元素所代表的對象必須分別實例化。
1.命令行實參儲存在String對象的數組中,並將傳遞給main方法。
1.通過使用某種特殊語法的形參表,使所定義的方法能接受任意個數的參數,並將參數自動存入數組以便在方法中進行處理。
1.在二維數組中的值,必須使用兩個索引值來引用,一個索引值指行,另一個索引值指列。
2.與一維數組類似,二維數組也可以用初始值表實例化,初始值表中的每一個元素本身就是一個一維的初始值表。
學號 2017-2018-2 《程序設計與數據結構》第X周學習總結
教材學習內容總結
- 數組元素: |
1.具有N個值的數組索引為0~(N-1).
- 聲明和使用數組: |
1.可以用new運算符實例化數組,為數組分配保存值的內存空間。在Java中,數組是必須實例化的對象。
- 邊界檢查: |
1.所應值可以自動執行邊界檢查,可保證引用數組有效範圍內的索引值。
2.Java有兩種數組聲明方式:第一種是將方括號和數組元素類型相關聯,第二種是將方括號和數組名相關聯。
3.初始值表可以用於實例化一個數組對象,這時不需要用new運算符創建數組對象。
4.整個數組可以作為一個參數傳遞給方法,使方法的形成為原始數組的別名。
- 對象數組: |
1.實例化對象數組只是為了保存對象而預留空間,對每個元素所代表的對象必須分別實例化。
- 命令行實參: |
1.命令行實參儲存在String對象的數組中,並將傳遞給main方法。
- 可變長度參數表: |
1.通過使用某種特殊語法的形參表,使所定義的方法能接受任意個數的參數,並將參數自動存入數組以便在方法中進行處理。
- 二維數組和多維數組: |
1.在二維數組中的值,必須使用兩個索引值來引用,一個索引值指行,另一個索引值指列。
2.與一維數組類似,二維數組也可以用初始值表實例化,初始值表中的每一個元素本身就是一個一維的初始值表。
教材學習中的問題和解決過程
- 問題1:定義數組有哪幾種方法:
- 問題1解決方案:有下面這幾類:
- 方式1(推薦,更能表明數組類型)
type[] 變量名 = new type[數組中元素的個數];
比如:
int[] a = new int[10];
數組名,也即引用a,指向數組元素的首地址。 - 方式2(同C語言)
type變量名[] = new type[數組中元素的個數];
如:
int a[] = new int[10]; - 方式3 定義時直接初始化
type[] 變量名 = new type[]{逗號分隔的初始化值};
其中紅色部分可省略,所以又有兩種:
int[] a = {1,2,3,4};
int[] a = new int[]{1,2,3,4};
其中int[] a = new
int[]{1,2,3,4};的第二個方括號中不能加上數組長度,因為元素個數是由後面花括號的內容決定的。 - 問題2:一維數組與二維數組的區別:
- 問題2解決方案:
int arr[10]
arr int* 指向一維數組首元素的地址
arr[0] int 第一個格子的值
arr+1 int* 指向一維數組第二個元素的地址,但是不會覆蓋指向首元素的指針
arr[0]+1 int 第一個格子的值加1
int brr[3][4]
brr int(p)[4] 指向二維數組第一行的數組指針
brr[0] int brr[0]=arr 指第一行的地址
brr+1 int(p)[4] 指向二維數組第二行的數組指針,但是不會覆蓋第一行的指針
brr[0]+1 int brr[0]=arr 指第一行的第二個元素
brr[0][0] int 第一行第一列的值
brr[0][0]+1 int 第一行第一列的值+1
代碼調試中的問題和解決過程
問題1:在做pp8.1時,遇到到了一大堆問題
問題1解決方案:首先是符號粗心,位置打錯,後來是就是for循環沒打括號,人家提示非法的類型開始
- 問題2:在做pp08.5時,我想的是將
for (int x1=0;x1<n;x1++)
循環一遍就可以將三個要求的值都求出來,結果就錯了。還有就是我想一次性用Math.sqrt(+=Math.pow(list[12]-mean,2))
將標準方差算出來,但是語法錯誤啊,很糾結 - 問題2解決方案:前面一個問題改一下順序就可以,後面一個問題我又設了一個變量b,把計算過程分開才可以。
問題3:能力有限,pp8.6實在沒想通,不過我還在研究,爭取周一晚之前把這道題交上。
代碼托管
結對及互評
點評模板:
- 博客中值得學習的或問題:
- xxx
- xxx
- ...
- 代碼中值得學習的或問題:
- xxx
- xxx
- ...
基於評分標準,我給本博客打分:XX分。得分情況如下:xxx
參考示例
點評過的同學博客和代碼
- 本周結對學習情況
- 20172317
- 結對照片
- 結對學習內容
- XXXX
- XXXX
- ...
- 20172320
- 結對照片
- 結對學習內容
- XXXX
- XXXX
- ...
其他(感悟、思考等,可選)
xxx
xxx
學習進度條
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一周 | 95/95 | 1/1 | 18/18 | |
第二周 | 515/620 | 1/2 | 22/40 | |
第三周 | 290/910 | 1/3 | 20/60 | |
第四周 | 1741/2651 | 1/4 | 30/84 | |
第五周 | 579/3230 | 1/5 | 20/104 | |
第六周 | 599/3829 | 1/6 | 18/122 |
嘗試一下記錄「計劃學習時間」和「實際學習時間」,到期末看看能不能改進自己的計劃能力。這個工作學習中很重要,也很有用。
耗時估計的公式:Y=X+X/N ,Y=X-X/N,訓練次數多了,X、Y就接近了。
參考:軟件工程軟件的估計為什麽這麽難,軟件工程 估計方法
計劃學習時間:20小時
實際學習時間:18小時
改進情況:無
(有空多看看現代軟件工程 課件
軟件工程師能力自我評價表)
參考資料
《Java程序設計與數據結構教程(第二版)》
- 《Java程序設計與數據結構教程(第二版)》學習指導
- java數組基礎
- markdown編輯器語法——文字顏色、大小、字體與背景色的設置
一維數組與二維數組的區別
20172327 2017-2018-2 《程序設計與數據結構》第六周學習總結