標籤:
實驗一 Java開發環境的熟悉
20135111 李光豫
一、實驗內容
1. 使用JDK編譯、運行簡單的Java程式
2.使用Eclipse 編輯、編譯、運行、調試Java程式
二、實驗要求
1.沒有Linux基礎的同學建議先學習《Linux基礎入門(新版)》《Vim編輯器》 課程
2.完成實驗、撰寫實驗報告,實驗報告模板見QQ群,注意實驗報告重點是運行結果,遇到的問題(工具尋找,安裝,使用,程式的編輯,調試,運行等)、解決辦法(空洞的方法如“查網路”、“問同學”、“看書”等一律得0分)以及分析(從中可以得到什麼啟示,有什麼收穫,教訓等)。
3.實驗報告中統計自己的PSP(Personal Software Process)時間
步驟 |
耗時 |
百分比 |
需求分析 |
40min |
20% |
設計 |
40min |
20% |
代碼實現 |
60min |
30% |
測試 |
30min |
15% |
分析總結 |
30min |
15% |
4. 嚴禁抄襲。
三、實驗步驟
(一)命令列下Java程式開發
1.首先雙擊案頭上的Xface終端表徵圖。
2.開啟終端(類似Windows下的cmd),之後會自動運行shell程式。
3.輸入cd Code命令進入Code(注意C要大寫)目錄。
4.輸入mkdir 20135100 命令建立實驗目錄,注意目錄名一定是自己的學號(學號要體現在實驗報告中),可以使用ls命令或dir命令查看建立的目錄情況。
5.輸入cd 20135100命令進入實驗目錄,再輸入類似mkdir exp1建立第一個實驗目錄,然後輸入cd exp1進入實驗一目錄,可以輸入pwd命令查看當前工作路徑。
6.輸入gedit Hello.java(注意把代碼儲存到exp1目錄中)或vim Hello.java 編輯Hello.java。
7.輸入javac -d . Hello.java命令編譯代碼,輸入java ljp.Hello命令運行 程式。
(二)Eclipse下Java程式開發、調試
1.在命令列中輸入eclipse命令並斷行符號或單擊案頭上的Eclipse EE表徵圖開啟Eclipse。
2.在Eclipse中單擊File->New-> Java Project建立Java項目。
3.輸入項目名稱HelloJDB(你可以自己起名),並單擊Finish按鈕完成建立項目。
4.在Eclipse中單擊File->New->Class建立Java類。
5.根據Java代碼規範輸入包名ljp(小寫,可以自訂),類名HelloJDB(單字首大寫),並勾選上自動產生main函數選項,最後單擊Finish按鈕。
6.輸入如下代碼:
package ljp;
public class HelloJDB
{
public static void main(String[] args)
{
int i = 5;
int j = 6;
int sum = add(i, j);
System.out.println(sum);
sum = 0;
for(i=0; i< 100; i++)
sum += i
System.out.println(sum);
}
public static int add(int augend, int addend)
{
int sum = augend + addend;
return sum;
}
}
7.單擊運行按鈕(或使用Ctrl+F11快速鍵),就可以在控制台(Console)中看到運行結果。
8.練習偵錯工具,首先我們通過單擊Window->Open Perspective->Debug開啟調試視圖。
9.偵錯工具首先要會設定斷點和單步運行。
10.逐步執行效率比較慢,如果我們感覺到第6行到第10行的代碼沒有問題了,想讓程式直接運行到第11行,怎麼辦?首先我們要在第11行設定斷點,然後單擊Resume表徵圖(快速鍵F8)。
11.逐步執行效率比較慢還導致另外一個問題,比如一個大迴圈中間出了問題怎麼辦?這時可以通過條件斷點解決問題。調試迴圈代碼時,會有一個值我們特別關注,這時在Variable標籤中查看變數的值,比如我們此時比較關注sum,每次逐步執行都可以看到sum的變化情況了,
設定條件斷點,我們在第11行左邊單擊滑鼠右鍵,選擇Breakpoint Properties...
(三)練習(通過命令列和Eclipse兩種方式實現,在Eclipse下練習偵錯工具)
實現四則運算,並進行測試。
實驗代碼:
import java.util.Scanner;
public class Math {
public static void main(String[] args)
{ Scanner reader = new Scanner(System.in);
System.out.println("請輸入兩個需要運算的資料");
int x = reader.nextInt();
int y = reader.nextInt();
System.out.println("請輸入所進行的運算的符號");
String c = reader.next();
char a = c.charAt(0);
switch (a)
{
case ‘+‘:
System.out.println(x+y);
break;
case ‘-‘:
System.out.println(x-y);
break;
case ‘*‘:
System.out.println(x*y);
break;
case ‘/‘:
if(y!=0)
{System.out.println(x/y);}
else
{ System.out.println("輸入資料不合法"); }
break;
default:
{ System.out.println("輸入符號不合法"); } break; } }
}
四、練習題代碼和:
實驗內容1:
實驗內容2:
代碼順利運行:
插入斷點後運行結果:
實驗三結果:
五、遇到的問題與解決方案
遇到問題:
本次實驗是我第一次接觸Eclipse編程軟體,還不適應其自動彈出的功能。在編寫四則運算子號的鍵盤收入時,char類型資料無法接收
解決方案:
首先查詢Scanner,但Scanner中並無直接接受char類型的功能,
後來經上網查詢只能使用String字元強轉的方法,問題才得以解決
六、實驗收穫
通過本次實驗,我第一次接觸到了eclipse編程軟體,並從中學會了如何使用其一些準系統,但偵錯工具這方面仍然能不夠熟練,日後還應該多加練習。
本次實驗進行了四則運算的編寫練習,雖然題目很初級,程式也順利編寫出來,但心中還是留有了遺憾,因為運算總是需要兩個資料與一個符號,我覺得可以通過類的自動篩選功能,完成switch的工作,也大大簡化主函數的複雜程度提高了程式的延展性,希望以後可以編寫出心中理想的程式。
Java實驗報告-20135111李光豫