這學期有幸擔任助教,剛好遇到幾位學生寫程式有問題來發問,於是將問題整理如下,或許將來還的有學生遇到更多的問題,再來與大家分享。

(1) 若以控制字元模式編譯程式,則路徑要設好。
首先,必須要搞懂為什麼path要設,還有classpath是幹麼的,如果沒設,則是無法用Javac編繹程式的。

(2) 莫太過倚賴編輯器。
雖然編輯器帶給我們許多的方便,但是如果太過依賴的話,反而會讓自己的程式功力退化。

(3) 宣告和敘述句要搞清楚。
Java和多數的程式語言一樣,可以允許用「,」來一次宣告多個變數,但是只要變數宣告過後,進行任何一種運算,即是一個「敘述句」,就不可以用「,」來分隔多個敘述句了,而要以「;」來結束每一個敘述句。

(4) 敘述句結尾記得加結束符號
這是無論初學者還是摸了一段時間的程式設計師都很常犯的錯誤,就是忘了在敘述句結束加上結束符號,或許有些程式語言不必加,但是大多都還是要加的。


(5) 試著為您的程式加上註解
加上註解不外乎是讓您的程式更容易讓人看懂,同時也是讓自己將來回顧時更容易看懂。

(6) 注意各種不同的變數型態
變數形態不同,所能存的值的範圍也不同,這點要特別注意,以免溢位。

(7) 使用清楚的變數名稱
變數名稱最好取有意義的,不要取一堆a、b、c …,不僅讓人改作業看了搖頭,對於日後的debug也有相當程度的困難。

(8) 運算與字串間的不同
以指令「System.out.println」為例,在雙引號內「a+5」的是字串,在雙引號外的則是計算,以下列程式碼為例,印出的結果為「a+515」。

int a = 10;
System.out.println("a+5"+(a+5));

(9) 小心地使用括號
括號內容的順序,攸關於列印的結果,若括號太多層,則盡可能地分多行撰寫,並適時加上註解,免卻日後除錯的困難。

(10) 動手實做,勿用眼睛寫程式
許多人剛開始學程式都喜歡用眼睛看,而非不是動手實做,這樣只會讓您很快忘了程式碼怎麼寫。

(11) 試著看看說明文件
Java 自己本身的網站,就有提供Javadoc可以觀看,若遇到不懂的,即可查詢Javadoc。

(12) 學著發問與使用搜尋引擎
遇到問題最怕不會如何發問,而試著提出問題問老師,或使用類似Google、Yahoo等搜尋引擎尋找相關答案,不僅可以幫你解決問題,也可以培養您解決問題的能力喔!

(13) 搞懂位元運算子和邏輯運算子的不同
位元運算子和邏輯運算子是有很大的差異性的,舉例而言,5&10會是0,而5&&10則會是錯誤,因為邏輯運算子不接受這類的計算。

(14) 程式碼切勿混亂不清
程式碼寫作最好分階層來寫,不要通通擠在一起,以免將來難以Debug,如下列則是比較好懂的程式碼。

if(a == b)//------------------第一層
{
  a = b;//-------------------第二層
}

(15) IF、ELSE IF、ELSE
在IF(條件)後面千萬不要加上「;」當結束字元,如下例則是一個錯誤的示範。

if(a != b);
{
  a = b;
}

(16) 各種型態要搞清楚
如int、long等是變數的基本型態,而String則是屬於類別型態,而基本型態可以用「==」來比較,但類別型態則不能。

(17) 指派與建立物件
基本型態可以用「=」將值指派給變數,但是類別物件則是需要用new來建立新的物件,而且兩個類別物件變數不能用「=」互相指派,否則只要改變其中一個變數內容,另一個也會跟著改變。

Circle cir1,cir2;
cir1 = new Circle("1.0");
cir2 = cir1; //此時會造成兩個變數指向的內容會相等,只要改變cir1就會改變cir2

Written by 

城市裡的小小迷僮工程師,喜歡用鍵盤記錄個人生活的點滴,身邊的人事物都我的靈感,用心踏出每個腳步,用文字灌溉《海芋小站》,用專業解決問題。

發表迴響