Java實驗報告
實驗一 Java開發環境與簡單Java程序
一、 實驗目的
(1) 熟悉JDK開發環境
(2) 熟練掌握結構化程序設計方法
二、 實驗內容
1. 打印輸出所有的“水仙花數”,所謂“水仙花數”是指一個3位數,其中各位數字立方和等於該數本身。例如,153是一個“水仙花數”。
2. 編寫Java程序,求13-23+33-43+…+973-983+993-1003的值。
3. 編程求1!+2!+3!+…+20!。
4. 編寫Java程序,計算8+88+888+…前10項之和。
5. 一個數如果恰好等於它的因子之和,這個數就稱為完數。編寫程序輸出1000以內的所有完數。
6. 編寫應用程序,輸出滿足1+2+3+…+n<8888的最大正整數。
7. 使用for循環打印下面的圖形。
三、實驗過程
1. 打印輸出所有的“水仙花數”,所謂“水仙花數”是指一個3位數,其中各位數字立方和等於該數本身。例如,153是一個“水仙花數”。
實驗源碼:
實驗結果:
153
370
371
407
2. 編寫Java程序,求13-23+33-43+…+973-983+993-1003的值。
實驗源碼:
實驗結果:-500
3.編程求1!+2!+3!+…+20!。
實驗源碼:
實驗結果:4037913
4.編寫Java程序,計算8+88+888+…前10項之和。
實驗源碼:
實驗結果:
1286608608
5. 一個數如果恰好等於它的因子之和,這個數就稱為完數。編寫程序輸出1000以內的所有完數。
實驗源碼:
實驗結果:
6
28
496
6. 編寫應用程序,輸出滿足1+2+3+…+n<8888的最大正整數。
實驗源碼:
實驗結果:
132
7. 使用for循環打印下面的圖形。
四、 實驗總結:
覺得還是要多練題,增加自己的邏輯,解決相關問題。
總結報告:
一:類的定義:基本方式;public static 返回值類型 方法名(參數類型 參數名稱,.......){方法體; return 返回值;}
方法的三種調用方式;注意:void 只能用於單獨調用;要有一個更重要的地方!!!在學習類的定義的時候,定義成員方法的時候與基本方法不同,成員方法他不需要static關鍵字,這個要注意!
熟悉代碼!!! 這里說明一下什么時候用什么時候不用static關鍵字:在定義成員方法時不用,即因為此時定義的方法將要由對象調用,而不像之前那樣與主方法一起定義在一個類當中且由主方法直接調用。
二:寫一下創建對象中多個對象的使用-對象引用傳遞:
1-per2沒有開辟堆內存空間-per2=per1->將per1的堆內存空間使用權給per2;每個棧內存空間都可以修改堆內存的內容。
2-per2也開辟了堆內存空間-per2=per1-> 因為per2本身就有堆內存空間的指向,所以如何在想指向per1對應的空間,則必須先斷開已有連接。因此原有的堆空間中沒有棧空間所指向,就形成了空間垃圾,等待Java垃圾收集機制進行回收。而此時per2同樣可以對per1中的堆內存數據進行修改.
三:封裝性:屬性封裝和方法封裝
屬性封裝:private. 一旦成員變量使用private,在類中可以任意訪問,但是!超出了本類范圍之外就不能直接訪問了,即在本類之外進行間接訪問,用setter和getter方法設置和取得間接訪問。對此還可以在該方法中進行語法的控制-檢驗代碼。setXxx進行設置數據,賦值,無返回值,但有參數;getXxx進行拿取,有返回值,return。
四:構造方法: 主要作用是給類中的屬性進行賦值。 構造方法的注意事項書p95.
例;class Person{
public Person(String name,int age){
this.name=name;//此時用this是為了區別參數與成員變量
this.age=age;
//this.setName(name);而這個this指對象
//this.setAge(age);
}
五;this關鍵字
1.當方法的局部變量和類的成員變量重名的時候,根據“就近原則”優先使用局部變量,如果訪問本類當中的成員變量時,我們可以用this,this.成員變量來區分與局部變量的關系
2.哪個對象調用方法誰就是this。
六.局部變量和成員變量的關系(參數也時一個局部變量)
1.定義的位置不一樣
局部變量:在方法的內部;
成員變量:在方法的外部,直接寫在其中
2.作用范圍不一樣
局部變量:只有在方法當中才能使用;
成員變量:整個類當中
3.默認值不一樣
局部變量:沒有默認值,要使用則手動賦值;
成員變量:有默認值
七.static關鍵字
:如果在程序中申明屬性的話,則屬性稱為全局屬性,(有些也稱靜態屬性)。在我們進行static全局變量之后,對屬性 的值需要改變時,最好由類名稱直接調用。
類屬性調用格式:類名稱.static屬性 例:Person.country=“B城”;
Java中常用的四塊內存區域
1 棧內存空間:保存所有的對象名稱(准確的來說是保存了引用的堆內存空間的地址)
2 堆內存空間:保存每個對象的具體屬性內容
3 全局數據區:保存static類型的屬性
4 全局代碼區:保存所有的方法定義