北京電子科技學院(BESTI)
實 驗 報 告
課程:Java程式設計 班級:1353 姓名:吳子怡 學号:20135313
成績: 指導教師:婁嘉鵬 實驗日期:2015.4.13
實驗密級: 預習程度: 實驗時間:——
儀器組次: 13 必修/選修:選修 實驗序号:1
實驗名稱: JAVA開發環境的熟悉
(一)實驗目的與要求:
1. 使用JDK編譯、運作簡單的Java程式。
2.在指令行和Eclipse下編輯、編譯、運作、調試簡單的Java程式。
3.沒有Linux基礎的同學建議先學習《Linux基礎入門(新版)》《Vim編輯器》課程。
(二)實驗材料
1. JVM、JRE、JDK的安裝位置與差別;
2. 指令行運作javac,java;javac -cp; java -cp;
3. PATH,CLASSPATH,SOURCEPATH的設定方法與應用;
4. 包管理:package;import;javac -d ;
5. Eclipse(Netbeans)管理Java項目,調試:斷點、單步執行等;
6. Java基礎文法:類型與類型轉換;變量;運算符;流程控制等;
7. JDK幫助文檔的使用;
(三)實驗儀器
名稱 | 型号 | 數量 |
PC | Dell | 1 |
虛拟機 | 實驗樓 |
四、實驗步驟
1、指令行下JAVA的程式開發
(1)首先輕按兩下桌面上的
Xface終端
圖示,打開終端(類似Windows下的cmd),之後會自動運作shell程式。
(2)輸入
cd Code
指令進入Code(注意C要大寫)目錄,輸入
mkdir 20135313
指令建立實驗目錄,可以使用
ls
指令或
dir
指令檢視建立的目錄情況。
(3)輸入
cd 20135313
指令進入實驗目錄,再輸入
mkdir exp1
建立第一個實驗目錄,然後輸入
cd exp1
進入實驗一目錄,可以輸入
pwd
指令檢視目前工作路徑。
(4)輸入
gedit Hello.java
編輯Hello.java,并輸入以下代碼:
-
1 package wzy; 2 import java.util.Scanner; 3 public class Hello{ 4 public static void main(String[] args){ 5 System.out.println("Input your first name, please:"); 6 Scanner s = new Scanner(System.in); 7 String name = s.next(); 8 System.out.println("Hello " + name + " !"); 9 } 10 }
-
20135313-exp1
代碼的第一行,會影響到我們使用javac編譯代碼的方式。
代碼第二行,當操作者使用到Java類庫中的類時,要用import導入相關的類,導入路徑可以檢視JDK幫助文檔,比如我們使用到了Scanner類。
(心得:當熟練使用eclipse以後,發現不需要在程式首加入import語句,在程式中調用類時會自動補全import語句!)
(6)輸入
javac -d . Hello.java
指令編譯代碼,輸入
java wzy.Hello
指令運作程式結果如下圖所示:
20135313-exp1
2、Eclipse下JAVA程式開發、調試
(1)在指令行中輸入
eclipse
指令并回車或單擊桌面上的Eclipse EE圖示打開Eclipse
(2)在Eclipse中單擊
File->New-> Java Project
建立Java項目。輸入項目名稱
HelloJDB
,并單擊
Finish
按鈕完成建立項目。
(3)在Eclipse中單擊
File->New->Class
建立Java類。
(4)根據Java代碼規範輸入包名wuziyi,類名wuziyi,并勾選上自動産生main函數選項,最後單擊
Finish
按鈕。
(5)輸入代碼,單擊運作按鈕(或使用
Ctrl+F11
快捷鍵),就可以在控制台(Console)中看到運作結果。
(6)調試程式。通過單擊
Window->Open Perspective->Debug
打開調試視圖。
(7)設定斷點和單步運作。設定條件斷點,在累加的左邊單擊滑鼠右鍵,選擇
Breakpoint Properties.輸入條件,按F8運作到條件停止。
3、練習:學号後兩位取餘——斐波那契數列:
代碼如下:
五、實驗分析
PSP時間
步驟 | 耗時 | 百分比 |
---|---|---|
需求分析 | 15 | 30% |
設計 | 5 | 10% |
代碼實作 | 10 | 20% |
測試 | 5 | |
分析總結 | 15 |
六、遇到的問題與解決方法
第一個小實驗中,我在指令行中輸入指令後,出現程式設計的視窗,但後來回到指令行中卻無法再執行指令,後來我學會了運用快捷鍵Ctrl+C可以先強制關閉上個步驟,開啟新的指令行輸入。
另外,我在做第二個實驗時,操作的平台與老師實驗指導的截圖不一樣,很多圖示都不在同一個地方,加上虛拟機實驗環境字型很小,在實驗操作中花了很多功夫,心裡又特别着急導緻實驗做了好多遍。以後要更加細心,遇到不明白的地方要善于查詢搜尋答案,也要提高心理素質,不要遇事着急,降低效率,甚至犯不必要的錯誤。
實驗三當時做實驗早,實驗指導書中的要求是根據學号直接做斐波那契數列,是以與後來實驗要求不符。但是完整代碼如上。
七、實驗收獲
1、調試按鈕(或使用F11快捷鍵)
Resume圖示(快捷鍵F8)
2、單步運作有兩種:Step Into(快捷捷F5)和Step Over(快捷捷F6),這兩種單步運作功能在運作語句時沒有差別,在執行函數調用語句時,Step Into會跳入函數實作,Step Over會直接執行完函數,實際使用中我們優先使用Step Over,隻有函數執行出錯了,說明程式問題在被調用函數中,這時再回來通過Step Into進入函數進行調試。
3、單步執行效率比較慢,若大循環中出錯,可以通過條件斷點解決問題。調試循環代碼時,可在Variable标簽中檢視變量的值,但此處雖然學會操作,卻不知道到底實際應用會在哪裡使用到這個方法,因為我在實際操作時一般會直接檢視錯誤而不善長調試。