實驗1
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序定制開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了安陽縣免費建站歡迎大家使用!
Java開發(fā)工具及程序設(shè)計初步
實驗?zāi)康?/p>
?
能夠搭建Java的開發(fā)環(huán)境
?
熟悉常用的JDK操作命令的使用
?
熟悉Java程序的編寫和編譯過程
?
了解常用Java開發(fā)工具的使用
實驗內(nèi)容
實驗練習(xí)1:搭建和使用JDK
1.JDK的下載和安裝
JDK是SUN公司免費在網(wǎng)上發(fā)布的,我們可以進入SUN公司的網(wǎng)站()下載并安裝。JDK安裝完成后,進行如下操作:
(1)查看并寫出JDK的安裝目錄______________________________;
(2)查看主目錄bin文件夾中常用的JDK命令文件,寫出java、javac等JDK命令所在的文件目錄_________________________________;
(3)在Windows中打開一個命令行窗口,打開命令行窗口的方法有兩種:
?選擇“開始”→“所有程序”→“附件”→“命令提示符”
?選擇“開始”→“運行…”命令,在打開的“運行”窗口中輸入“cmd”命令并“確定”。
(4)在打開的命令行窗口中,分別執(zhí)行java和javac命令,如:C:\java
查看執(zhí)行結(jié)果,看是否輸出如下的java命令的幫助信息(如圖1-1所示)。
圖1-1:java命令的幫助信息
C:\javac
查看執(zhí)行結(jié)果,看是否輸出如下的javac命令的幫助信息(如圖1-2所示)。
圖1-2:javac命令的幫助信息
如果上面的信息均能輸出,說明JDK的安裝成功,基本上可正常使用。
2.操作系統(tǒng)環(huán)境變量的使用
操作系統(tǒng)的環(huán)境變量是在操作系統(tǒng)中定義的變量,可被該操作系統(tǒng)上運行的程序訪問。JDK中主要有兩個相關(guān)的操作系統(tǒng)環(huán)境變量,即path和classpath。
(1)查看操作系統(tǒng)環(huán)境變量
?在命令行窗口中執(zhí)行set命令
如:C:\set
查看set命令的輸出結(jié)果,在set命令的輸出結(jié)果中可看到許多等式,其中等號的左邊是環(huán)境變量的名稱,等號的右邊是環(huán)境變量的取值。
命令:set
環(huán)境變量名,可查看指定的某個環(huán)境變量的設(shè)置情況。
執(zhí)行命令:C:\set
path,查看path變量的設(shè)置情況。
?在“環(huán)境變量”窗口中查看環(huán)境變量
用鼠標(biāo)右鍵單擊“我的電腦”,選擇“屬性”命令,在打開的“系統(tǒng)屬性”對話框中選擇“高級”→“環(huán)境變量”,打開“環(huán)境變量”窗口。
在“環(huán)境變量”窗口中,有用戶變量和系統(tǒng)變量兩種環(huán)境變量。其中,用戶環(huán)境變量只對某個用戶起作用;系統(tǒng)環(huán)境變量對該系統(tǒng)上的所有用戶都有效。
當(dāng)我們以某一用戶身份登錄Windows時,它所使用的變量是系統(tǒng)變量和用戶變量的總和。
如果一個變量在系統(tǒng)變量窗口和用戶變量窗口都進行了設(shè)置,那么這個變量的取值在一般情況下為系統(tǒng)變量的取值與用戶變量的取值相加;但有時也會出現(xiàn)用戶變量的取值覆蓋系統(tǒng)變量取值的情況。不管是什么情況,最終都以在命令行窗口中通過set命令查看到的結(jié)果為準(zhǔn)。
(2)設(shè)置系統(tǒng)的環(huán)境變量
?在命令窗口中執(zhí)行set命令
格式:set
變量名=[變量值]
執(zhí)行如下命令,查看執(zhí)行結(jié)果。
C:\set
Xx=aa
//新建一個環(huán)境變量并設(shè)置其取值
C:\set
Xx
//查看該環(huán)境變量
C:\set
Xx=
//取消環(huán)境變量的設(shè)置
C:\set
//查看環(huán)境變量
注意:在命令行窗口中設(shè)置的環(huán)境變量,只在該命令行窗口中起作用。
?在“環(huán)境變量”窗口中進行設(shè)置
可使用“新建”或“編輯”按鈕。
注意:①
在“環(huán)境變量”窗口中設(shè)置的環(huán)境變量對以后所有的應(yīng)用程序和命令行窗口都起作用,但不會影響原來運行的應(yīng)用程序和啟動的命令行窗口。
②
在“用戶環(huán)境變量”窗口中進行的設(shè)置需要在注銷重新登錄后才起作用。
(3)path環(huán)境變量的作用和設(shè)置
環(huán)境變量path的值指定了JDK命令搜索路徑,即當(dāng)我們要執(zhí)行某個命令時,操作系統(tǒng)首先會在當(dāng)前目錄下查找這個命令,如果當(dāng)前目錄下沒有這個命令程序,操作系統(tǒng)會沿著path環(huán)境變量中所指定的目錄依次去查找這個命令文件,并以最先找到的為準(zhǔn)。
觀察path變量的取值情況,path變量可以有多個取值,每個值代表一條搜索路徑,它們之間用“;”分隔。
在命令行窗口中執(zhí)行如下命令:
C:\set
path
//查看path環(huán)境變量
C:\set
path=
或set
path=C:\
//取消path變量的設(shè)置或重新設(shè)置path的值
C:\set
path
C:\java
或javac
//執(zhí)行java或javac命令
會出現(xiàn)如下錯誤信息(如圖1-3所示):
圖1-3:錯誤信息
分析錯誤的原因:_____________________________________________________
改正的方法:__________________________________
實驗練習(xí)2:Java程序的編寫與編譯過程
1.一個簡單的Java程序的編寫與編譯
第一步:先在磁盤上創(chuàng)建保存程序文件的目錄(文件夾),如:D:\javawork\lesson1。
第二步:在“記事本”中創(chuàng)建并編輯Java源程序文件Test1.java,程序代碼如下:
class
Test1
{
}
保存文件,擴展名為.java。
第三步:在命令行窗口中,對源文件Test1.java進行編譯。
可參考如下命令:
如果當(dāng)前盤當(dāng)前目錄為C:\,先將當(dāng)前目錄設(shè)置為D:\javawork\lesson1。
C:\d:
D:\cd
ja*w*
D:\javaworkcd
le*
D:\javawork\lesson1javac
Test1.java
如果編譯成功,則不出現(xiàn)任何提示,回到命令提示符狀態(tài)下。打開保存源文件的文件夾,查看編譯生成的字節(jié)碼文件Test1.class。
第四步:運行字節(jié)碼文件Test1.class。
D:\javawork\lesson1java
Test1
執(zhí)行結(jié)果出現(xiàn)異常,如圖1-4所示。
圖1-4:執(zhí)行出現(xiàn)異常
出現(xiàn)異常的原因是:缺少執(zhí)行應(yīng)用程序的入口main方法。main方法的聲明必須是public
static
void
main(String
args[]){}。修改源程序代碼并重新編譯,源程序代碼如下:
class
Test1
{
public
static
void
main(String
args[])
{
}
}
編譯完成后,執(zhí)行字節(jié)碼文件。
在main方法中,添加輸出的語句并重新編譯執(zhí)行,程序代碼如下:
class
Test1
{
public
static
void
main(String
args[])
{
System.out.println("Hello
World!");
}
}
輸出結(jié)果如圖1-5所示。
圖1-5:程序執(zhí)行結(jié)果
2.classpath環(huán)境變量的作用與設(shè)置
環(huán)境變量calsspath用于指定Java類的路徑,即設(shè)置classpath的作用是告訴Java運行系統(tǒng)的類加載器到哪里去尋找要執(zhí)行的類。
在前面打開的命令行窗口中繼續(xù)執(zhí)行以下命令:
D:\java
Test1
執(zhí)行結(jié)果如圖1-6所示:
圖1-6:改變當(dāng)前目錄后重新執(zhí)行的結(jié)果
會發(fā)現(xiàn)程序執(zhí)行出現(xiàn)異常:無法找到Test1類。說明在classpath變量中沒有將Test1.class文件所在的目錄設(shè)置為搜索路徑,在命令行窗口中執(zhí)行命令:
D:\set
classpath=%classpath%;d:\javawork\lesson1
重新執(zhí)行程序,則運行結(jié)果正常。
調(diào)試練習(xí)
本節(jié)中的程序Test2.java不能正確地編譯,修改所有的語法錯誤,使程序能夠成功編譯。程序編譯之后,執(zhí)行程序,比較輸出結(jié)果與示例輸出,然后排除所有可能的邏輯錯誤,示例輸出演示了代碼更正后程序的正確輸出結(jié)果。
1.示例輸出
2.錯誤的代碼
//Test2.java
import
javax.swing.JOptionPane;
public
class
test2
{
public
static
void
main(string
args[])
{
JOptionPane.showMessageDialog(null,"Hello")
}
}
一、實驗?zāi)康?.掌握類的聲明。2.掌握對象的創(chuàng)建。3.掌握方法的定義和調(diào)用。4.掌握構(gòu)造函數(shù)的使用。二、實驗內(nèi)容1.編程創(chuàng)建一個Box類,在其中定義三個變量表示一個立方體的長、寬和高,再定義一個方法setDemo對這三個變量進行初始化,然后定義一個方法求立方體的體積。創(chuàng)建一個對象,求給定尺寸的立方體的體積。2.將上題的方法setDemo改用構(gòu)造函數(shù)實現(xiàn)初始化。三、實驗步驟1.創(chuàng)建一個box類,在其中定義三個變量表示立方體的長、寬、高,再定義構(gòu)造函數(shù)setDemo對三個變量進行初始化,然后定義一個方法求立方體的體積。關(guān)鍵代碼如下: class Box{protected int length,width,height;public void setDemo(int l,int w,int h){length=l;width=w;height=h;}public void Cub(){int cub=length*width*height; System.out.println("立方體的體積為:"+cub);}
源代碼:
public class Exe1_1 {
public static void main (String args[]){
byte a1=127;
int a2=12345;
long a3=123456789L;
float a4=1.23e-5f;
double a5=1.4567e3;
char a6=65;
boolean a7=true;
System.out.println("a1="+a1+"\na2="+a2+"\na3="+a3+"\na4="+a4+"\na5="+a5+"\na6="+a6+"\na7="+a7);
}
}運行結(jié)果:
2.編寫Java小應(yīng)用程序,輸出兩行字符串:“Java很有趣?!焙汀芭W(xué)習(xí)Java編程。”,輸出的起點坐標(biāo)是(20,20),行距是50像素。源程序代碼:
import java.awt.Graphics;
import java.applet.Applet;
public class Exe1_2 extends Applet{
public void paint(Graphics g){
g.drawString("Java很有趣。",20,20);
g.drawString("努力學(xué)習(xí)Java編程。",20,70);
}
}運行情況:
3.使用算術(shù)運算符得到一個4位十進制數(shù)的各位數(shù)字并輸出,然后輸出該數(shù)的逆序數(shù)和各位數(shù)字平方后相加的和。
源程序代碼:
public class Exe1_3 {
public static void main (String args[]){
int n=3756,a,b,c,d,n1;
a=n/1000;
b=(n-1000*a)/100;
d=n%10;
c=(n%100-d)/10;
System.out.println("3756的逆序數(shù)為:"+d+" "+c+" "+b+" "+a);
System.out.print("各位數(shù)字平方后相加的和為:");
System.out.print(a*a+b*b+c*c+d*d);
}
}
運行結(jié)果:
三、實驗總結(jié)(是否完成實驗、實驗過程中的問題以及解決方法分析等)
本次是我第一次使用JAVA來進行編程,感覺很是不一樣,在前兩節(jié)課中我們學(xué)習(xí)了有關(guān)Java的一些簡單知識。然后這次的實驗是對最初的一種練習(xí)。
在第一題中,我們重要是認(rèn)識java的運行環(huán)境,并且了解各種變量的數(shù)據(jù)類型。只要通過簡單的語句就可以通過運行。其中出現(xiàn)了一些單詞的拼寫錯誤,這些是可以修改正確的。第二題我們練習(xí)的十一個小的applet應(yīng)用程序,需要設(shè)置一個網(wǎng)頁來顯示,這是一個很不一樣的地方,最后成功測試,里面需要注意的是顯示位置的問題。第三題我們做的是一個有算法要求的解決問題,在測試中出現(xiàn)了一點小問題,程序的算法出了錯。還有一個問題是有關(guān)于顯示問題,最后的數(shù)據(jù)輸出需要用到兩行分別顯示字符和數(shù)據(jù),這樣才不會出錯。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class TestString {
public static void main(String arg[]) throws IOException {
int a,n;
System.out.println("請輸入a,n:");
BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
String readStr=buf.readLine();
String argStr[]=readStr.split(",");
a=Integer.parseInt(argStr[0]);
n=Integer.parseInt(argStr[1]);
long sum=0,aaa=0;
for (int i=1;i=n;i++){
aaa=(long)getaaa(a,i);
sum+=aaa;
System.out.print(aaa);
if (i==n) System.out.print("=");
else System.out.print("+");
}
System.out.println(""+sum);
}
static double getaaa(int a,int n){
double aaa=a;
for(double i=1;in;i++){
aaa+=a*Math.pow(10, i);
}
return aaa;
}
}
需要注意的是這里面引入了幾個java包。
第2個:;__bd_tkn__=6ef56e5d3a2499274a6df875f5b773e682519fb8a07960d151bbad4928e085c42f309a67e9e08f6c24eb7e11a1fbf820dff421b52a