20165231 2017-2018-2 《Java程序設計》第3周學習總結
阿新 • • 發佈:2018-03-18
out IT 行數 變量 str 相同 bubuko mark 不能
教材學習內容總結
對象(Object):存在的具體實體,具有明確的狀態和行為
類(Class):具有相同屬性和行為的一組對象的集合,用於組合各個對象所共有操作和屬性的一種機制
從類看對象:類定義可以視為一個具有類似特性與共同行為的對象的模板,可用來產生對象
從對象看類:類的產生,是從少數實例,推廣到大量相似實例的抽象化過程(abstraction)
- 類是對象的設計圖,對象是類的實例,生成對象要先定義類。
- 類成員變量整個類中有效,局部變量僅在方法中有效。
- 局部變量的名字與成員變量的名字相同時,成員變量被隱藏。
成員變量有默認值,局部變量沒有,所以使用局部變量前需要先需要聲明其值。(註:聲明與賦值不等價 int a=12;不等於int a; a=12;)
在一個程序功能中有多個類class復合調用時,編譯後運行應當運行有main函數的那一個類,別的類可能看似行數很多,但是只是作為主程序中的一個方法不能單獨運行。例如教材代碼:
SingGame.java
public class SingGame {
public static void main (String args[]) {
Line line=new Line();
line.givePersonScore();
}
}
InputScore.java
import java.util.Scanner; public class InputScore { DelScore del; InputScore(DelScore del) { this.del=del; } public void inputScore(){ System.out.println("請輸入評委數:"); Scanner read=new Scanner(System.in); int count = read.nextInt(); System.out.println("請輸入評委的分數:"); double []a =new double[count]; for(int i=0;i<count;i++){ a[i]=read.nextDouble(); } del.doDelete(a); } }
DelScore.java
public class DelScore { ComputerAver computer; DelScore(ComputerAver computer) { this.computer=computer; } public void doDelete(double [] a) { java.util.Arrays.sort(a); System.out.print("去掉一個最高分:"+a[a.length-1]+","); System.out.print("去掉一個最低分:"+a[0]+"。"); double b[] =new double[a.length-2]; for(int i=1;i<a.length-1;i++) { b[i-1]=a[i]; } computer.giveAver(b); } }
ComputerAver.java
public class ComputerAver {
public void giveAver(double [] b) {
double sum=0;
for(int i=0;i<b.length;i++){
sum=sum+b[i];
}
double aver=sum/b.length;
System.out.println("選手的最後得分:"+aver);
}
}
Line.java
public class Line {
InputScore one;
DelScore two;
ComputerAver three;
Line(){
three = new ComputerAver();
two=new DelScore(three);
one=new InputScore(two);
}
public void givePersonScore() {
one.inputScore();
}
}
此時有五個類文件,編譯通過後應當運行SingGame
。
代碼調試中的問題和解決過程
問題:不在一個程序中的多個類相互調用時,想要通過一條命令讓位於src
下的多個代碼編譯後自動放入bin
文件夾中,會提示錯誤找不到符號。
解決方法:新建一個文件夾將此程序所有類放入,然後通過命令編譯該文件夾所有.java文件。
代碼托管
感悟
學習至第四章,發現漸漸開始有些難度了,也算是正式開始步入Java程序設計的。對象,方法等內容也是一般java程序必不可少的設計內容,勤加練習多打代碼,會漸漸了解其套路,從而理解其使用。
學習進度條
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一周 | 200/200 | 1/4 | 10/10 | |
第二周 | 300/500 | 1/5 | 10/20 | |
第三周 | 800/1300 | 1/6 | 20/40 | |
第四周 |
計劃學習時間:20小時
實際學習時間:20小時
改進情況:
多敲代碼
參考資料
Java學習筆記(第8版)
- 《Java學習筆記(第8版)》學習指導
Java 程序設計視頻
20165231 2017-2018-2 《Java程序設計》第3周學習總結