標籤:
實驗一 Java開發環境的熟悉
實驗內容
1. 使用JDK編譯、運行簡單的Java程式
2.使用Eclipse 編輯、編譯、運行、調試Java程式
實驗要求
1.沒有Linux基礎的同學建議先學習《Linux基礎入門(新版)》《Vim編輯器》 課程
2.完成實驗、撰寫實驗報告,實驗報告模板見QQ群,注意實驗報告重點是運行結果,遇到的問題(工具尋找,安裝,使用,程式的編輯,調試,運行等)、解決辦法(空洞的方法如“查網路”、“問同學”、“看書”等一律得0分)以及分析(從中可以得到什麼啟示,有什麼收穫,教訓等)。
3.實驗報告中統計自己的PSP(Personal Software Process)時間
步驟 |
耗時 |
百分比 |
需求分析 |
|
|
設計 |
|
|
代碼實現 |
|
|
測試 |
|
|
分析總結 |
|
|
4. 嚴禁抄襲。
實驗知識點
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協助文檔的使用;
實驗步驟命令列下Java程式開發Eclipse下Java程式開發、調試1、在命令列中輸入
eclipse命令並斷行符號或單擊案頭上的
Eclipse EE表徵圖開啟Eclipse2、在Eclipse中單擊
File->New-> Java Project建立Java項目3、輸入項目名稱
HelloJDB(你可以自己起名),並單擊
Finish按鈕完成建立項目4、在Eclipse中單擊
File->New->Class建立Java類5、根據Java代碼規範輸入包名
czw,類名
HelloJDB(單字首大寫),並勾選上自動產生main函數選項,最後單擊
Finish按鈕6、輸入如下代碼: ``` 1 package ljp; 2 public class HelloJDB { 3 public static void main(String[] args) { 4 int i = 5; 5 int j = 6; 6 int sum = add(i, j); 7 System.out.println(sum); 8
9 sum = 0; 10 for(i=0; i< 100; i++) 11 sum += i; 12
13 System.out.println(sum); 14 } 15
16 public static int add(int augend, int addend){ 17 int sum = augend + addend;18 return sum; 19 } 20}
7.單擊運行按鈕(或使用Ctrl+F11快速鍵),就可以在控制台(Console)中看到運行結果。如所示:8.下面我們練習偵錯工具,首先我們通過單擊Window->Open Perspective->Debug開啟調試視圖,如所示:
9.偵錯工具首先要會設定斷點和單步運行。設定斷點比較簡單,如所示:
然後單擊調試按鈕(或使用F11快速鍵)開始調試Java程式,我們可以看到程式停留在了第4行,如所示:
注意,此時第4行代碼並沒有執行,我們可以把滑鼠放到變數名上來查看變數的值,此時i的值並不是5,我們通過單步運行讓程式運行到第5行,單步運行有兩種:Step Into(快捷捷F5)和Step Over(快捷捷F5),這兩種單步運行功能在運行語句時沒有區別,在執行函數調用語句時,Step Into會跳入函數實現,Step Over會直接執行完函數,實際使用中我們優先使用Step Over,只有函數執行出錯了,說明程式問題在被調用函數中,這時再回來通過Step Into進入函數進行調試。我們單擊一下Step Over表徵圖(或F6),程式停在了第5行,這時查看變數i的值,會看到i等於5。
10.逐步執行效率比較慢,如果我們感覺到第6行到第10行的代碼沒有問題了,想讓程式直接運行到第11行,怎麼辦?首先我們要在第11行設定斷點,然後單擊Resume表徵圖(快速鍵F8),程式就運行到了第11行,如所示:
11.逐步執行效率比較慢還導致另外一個問題,比如一個大迴圈中間出了問題怎麼辦?這時可以通過條件斷點解決問題。調試迴圈代碼時,會有一個值我們特別關注,這時在Variable標籤中查看變數的值,比如我們此時比較關注sum,每次逐步執行都可以看到sum的變化情況了,
設定條件斷點,我們在第11行左邊單擊滑鼠右鍵,選擇Breakpoint Properties...如所示:我們設定條件“i==50”,如所示:按一下F8,我們可以查看i的是50了。如所示:
掌握這些調試的基本技巧可以解決大家平時遇到的大部分問題,其他調試方法可以參見參考資料。
三、練習(通過
命令列和
Eclipse兩種方式實現,
自己的學號後兩位與題目總數取餘的結果再加上1就是自己要完成的題號,在Eclipse下練習偵錯工具)1. 實現凱撒密碼,並進行測試。代碼:
import java.io.*;
import java.util.Scanner;
public class kaiser {
public staticvoid main(String[] args) {
System.out.println("請輸入密鑰:");
Scanners = new Scanner(System.in);
int a =s.nextInt();
C(a); }
publicstatic void C(int n){
try{
charb[];
BufferedReader br2 = new BufferedReader(newInputStreamReader(System.in));
System.out.println("請輸入一段明文:");
Stringstr2=br2.readLine();
b=str2.toCharArray();
System.out.println("密文為:");
int k=n;
for(inti=0;i<str2.length();i++){
char ch=(char)((b[i]-‘a‘+k)%26+‘a‘);
System.out.print(ch);
}
System.out.println("\n密匙K="+k);
}
catch(IOException e){
System.out.println(e.getMessage());
}
}
}
四、遇到的問題與解決方案
在設定斷點時不是很熟練,對英文的某些單詞不熟- -。還有就是編程凱撒密碼的時候不是很熟練,請教了其他同學。
五、實驗收穫
由於學校網速實在太渣……然後就是直接在window的環境下做出的實驗,這次實驗讓我對java代碼的調試有了進一步的認識,eclipse對錯誤的發現以及調試很明顯並且易懂,希望以後的實驗都能很順利的完成,在錯誤中不斷學習,收穫更多的知識
實驗一 Java開發環境的熟悉