第一部分:理論知識學習部分
(1)基本知識:簡單應用程序的結構;Java環境里的注釋方式;
(2)數據類型(4種整型、2種浮點型、1種字符型‘char’、真值型‘Boolean’。
(3)變量,每個變量都有一個type。在聲明變量時,變量的類型位于變量名之前(不能用Java保留字作為變量名);變量初始化;常量。
(4)運算符‘+、-、*、/’。當用到/運算符時,兩個數都是整數時,表示整數除法,不然表示浮點數除法。整數求余用%(15%2等于1)。注意整數被零除時會出現異常,浮點數被零除時得到無群大或NaN的結果。數學函數與常量。
(5)數據類型的轉換:強制類型的轉換;數值類型之間的轉換;轉換過程涉及到各種運算符。
(6)字符串是字符序列組成的串(用法類似于數組);字符串的拼接;不可變字符串(String沒有提供用于修改字符串的方法;檢測字符串是否相等;空串與NUll串(使用條件:if(str==null,if(str!=null&&str.length()!=0));構建字符串(StringBuilder實現)節約時間和空間。
輸入輸出,要想通過控制臺進行輸入,首先需要構造一個Scanner對象,并與“標準輸入流”System.in關聯。格式化輸出,使用System.out.print(x)將要輸出的對對象進行輸出;文件的輸入與輸出,首先用file構造一個scanner對象(例如:Scanner in=new Scanner(Paths.get(“myfile.txt”),”UTF-8”);,寫入文件要構造一個PrintWriter對象PrintWriter out=new PrintWriter(“myfile.txt”),”UTF-8”);。
(7)數組是一種數據結構,它是有序數據的集合, 數組中的每個元素的數據類型都是相同的。
?對元素的確定是由數組名和它的下標實現的, 如a[0]代表數組a的第一個元素,a[1]代表數組 a的第二個元素,依次類推。
第二部分:實驗部分
1.?實驗名稱:實驗一?Java基本程序設計(1)
2. ?實驗目的與要求:
(1)進一步熟悉命令行和IDE兩種方式下java程序開發的基本步驟;
(2)掌握Eclipse集成開發環境下導入Java源程序的過程;
(3)掌握Java語言構造基本程序的數據類型、變量、運算符、各類表達式、輸入輸出、流程控制的基本語法;
(4)掌握String類、StringBuilder類、數組類的用法。
3. 實驗步驟與內容
2、實驗內容和步驟
實驗1:編寫java 應用程序,輸出以下4個表達式的值。
????int i=1; ????double d=1.0; ???(1) 45+45*50%i-- ???(2) 1.5*3+d++ ???(3) (true)&&(3>4) ???(4) (i>0)||(i<0) |
?
實驗2:編寫包含以下代碼片段的java應用程序,輸出字符串類對象s3的值。
String s1=“Hello!”; String s2=“World”; String s3=s1+s2; |
?
實驗3:更改實驗2中s1、s2、s3為StringBuilder類對象,觀察程序運行結果并與實驗2結果進行對比,理解String類對象與StringBuilder類對象的區別。
?
? ? string本身是不可改變的,它只能賦值一次,每一次內容發生改變,都會生成一個新的對象,然后原有的對象引用新的對象,而每一次生成新對象都會對系統性能產生影響,這會降低.NET編譯器的工作效率。而StringBuilder類則不同,每次操作都是對自身對象進行操作,而不是生成新的對象,其所占空間會隨著內容的增加而擴充,這樣,在做大量的修改操作時,不會因生成大量匿名對象而影響系統性能。String是不可變化的字符,StringBuilder是可以變化的字符。String的不可變是由于它的底層是一個private final char[],沒有方法可以修改它的值,所以它是不可變化,而StringBuilder底層也是一個char[],修飾符是缺省的,同包類都可以修改它,所以StringBuilder是一個可變的字符。StringBuilder可以通過append,insert來修改char[]的值。。
實驗4:在命令行方式下調試運行下列程序,理解java應用程序命令行參數的用法。
public class Mes { ? public static void main(String[] args) ??{ ???? ??if (args[0].equals(“-t”)) System.out.print(“today”); else if(args[0].equals(“-m”); ?System.out.print(“morning,”); ??for(int i=1;i<args.length;i++) ????System.out.print(“ ?”+args[i]); ??System.out.println(“!”); ??} } |
?
實驗5:Eclipse環境下導入第3章示例程序InputTest.java步驟:
(1)?新建java project如下圖:
(2)?選擇File->import->File ystem->Next,打開文件導入窗口如下圖,點擊上方Browse選擇導入源程序并選中,點擊下方Browse選擇源程序導入位置為新項目InputTest/src位置后,點擊finish完成導入。
(3)?打開InputTest項目src文件夾的缺省包,雙擊InputTest.java在IDE源程序編輯區打開文件。
?
(4)?右鍵單擊InputTest.java文件名打開快捷菜單,選擇Run as->java application運行此程序,結合程序運行結果,理解代碼中Scanner類對象用法,掌握java控制臺輸入方法。
實驗6:按照實驗5的操作步驟,導入WriteReadFileTest.java示例程序,結合程序運行結果理解程序代碼,觀察項目文件夾下文件myfile.txt的內容,掌握文件的輸入輸出操作。
實驗7:按照實驗5的操作步驟,導入第3章示例程序,每個示例程序從語法、算法兩個角度總結學習內容。
?
?
?
(1)測試Retirement.java,Retirement2.java,LotteryOdds.java掌握循環控制結構;
?
(2)測試BigIntegerTest.java,掌握大數值類的用法;
?
(3)測試LotteryDrawing.java,掌握數組的用法;
?
?
(4)測試CompoundInterest.java,掌握多維數組的用法;
?
(5)測試LotteryArray.java,掌握不規則數組的用法。
實驗總結:
? ? ? 在本次的實驗中自己對Java編程的環境更加的熟悉,進一步熟悉命令行和IDE兩種方式下java程序開發的基本步驟,對運算符在Java中的運用也有了掌握,理解String類對象與StringBuilder類對象的區別。(string本身是不可改變的,它只能賦值一次,每一次內容發生改變,都會生成一個新的對象,然后原有的對象引用新的對象,而每一次生成新對象都會對系統性能產生影響,這會降低.NET編譯器的工作效率。而StringBuilder類則不同,每次操作都是對自身對象進行操作,而不是生成新的對象,其所占空間會隨著內容的增加而擴充,這樣,在做大量的修改操作時,不會因生成大量匿名對象而影響系統性能。String是不可變化的字符,StringBuilder是可以變化的字符。String的不可變是由于它的底層是一個private final char[],沒有方法可以修改它的值,所以它是不可變化,而StringBuilder底層也是一個char[],修飾符是缺省的,同包類都可以修改它,所以StringBuilder是一個可變的字符。StringBuilder可以通過append,insert來修改char[]的值。)在本次的實驗中最大的收獲是經過后面幾個小實驗的進行,熟練的掌握了Eclipse集成開發環境下從文件中導入程序的步驟。掌握Java語言構造基本程序的數據類型、變量、運算符、各類表達式、輸入輸出、流程控制的基本語法;對用程序輸出的數組,多維數組,不規則數組有了基本的了解,對以后數組在Java中的應用有了初步的認識。