寫在前面的話
在實際應用java中,因為沒有系統去看過書或者學習過,所以基礎薄弱,剛好這本書是比較入門級的一些書,記錄一下下面的一些基本概念,以方便自己來學習。當然如果對大家有幫助也是很好的。
因為書有大概700頁,如果把各個知識點放在一個隨筆里未免過多了。隨意我決定拆分成幾個隨筆來寫。這篇主要是介紹了一些運行java程序。java的類、變量、方法的一些基礎內容。
java工作方式
1.編寫源代碼.java文件
2.通過javac編譯程序對java代碼進行編譯,檢查是否有錯誤
3.編譯通過沒錯誤后輸出.class的java文件
5.通過java虛擬機(JVM)來讀取和執行.class文件,將字節碼轉成平台能夠理解的形式來運行
java的程序結構
1.類在源文件中
2.方法存於類中
3.語句存於方法中
4.每個程序最少有一個類和一個main(),一個程序只會有一個main(),main()是程序的起點
class Dog{
private int size;
pulibc int getsize(){
return size;
}
public int add(int total){
int a=10;
int b=12;
total=a+b;
return total
}
}
Dog g=new Dog()
說明:這里Dog是類名,g是對象的引用變量。size是實例變量。a和b是方法中的局部變量,add()和getsize()是方法。
類與對象
1.類不是對象,類是創造他們的模型(類是對象的藍圖)
2.類由已知的實例變量和執行的方法組成
3.main()的兩種用途:測試真正的類和啟動java應用程序
4.java可以將所有文件依據pkzip格式來存檔Java Archive-.jar文件,jar文件中可以引用一個簡單的文字格式的文字文件manifest定義jar中按一個文件包含main()方法
5.編譯.java文件會將.java文件中的所有類都編譯出來放到單獨的.class文件里(二進制文件)
變量
1.java注重類型,變量必須有類型和名稱
2.float類型后面必須加上f,否則所有帶小數點的值都會當做double處理(例float f=32.5f)
引用變量:(例如有一個Dog類,Dog d;d就是一個引用Dog對象的引用變量)
1.引用變量的值代表為與堆上的對象的存取方法,使用圓點.來操作,可以相當於引用指向
2.沒有引用到任何對象的引用變量的值是null
3.引用變量指向的對象是存在堆上的,當堆上的對象沒有被引用時會被GC垃圾回收。
數組
1.數組也是對象,不管里面放到是不是原始主數據類型
2.數組本身絕對不可能是原始主數據類型
3.他可以包含原始主類型數據(int),也可以包含引用變量,但是引用變量存的只是引用,還是需要創建對象
4.一旦數組被聲明出來,就只能裝入所聲明類型的元素(例外byte可以放進int內)
方法
1.java是通過值傳遞的,也就是通過拷貝傳遞。所以方法中的變量實際是把值拷貝給形參
2.方法中可以改變形參的值,但是無法改變調用方式傳入的參數的值
實例變量
1.實例變量永遠都會有默認值,integers(0),float(0.0),booleans(false),references(false)
2.數據封裝,可以通過private將變量標記為私有(這樣外部不能通過圓點對數據直接進行存取操作),然后通過public的getter或setter方法來設置變量值和讀取變量值,且可以對寫入的值做限制
3.實例變量是聲明在類內而不是方法中
4.局部變量時聲明在方法中,沒有默認值。局部變量在使用前必須初始化。如果不初始化會編譯不通過
5.方法的參數與局部變量相同,但是不需要初始化也可以編譯通過,調用方法時需要輸入參數值
比較
1.使用==對primitive類型數據比較。只是比較對應字節組合是否相等
2.使用==對引用變量進行比較,只有兩個引用指向同一個對象的時候才返回true(對象不是一個,值一樣也是false)
for循環與while循環的差別
1.for循環可以有初始化、Boolean、重復表達式三部分。初始化可以初始化多個參數
2.while只有Boolean部分,不能初始化和填寫重復執行的部分
3.while適合不知道具體執行次數的循環
前置與后置的遞增/遞減操作符++ --
1.后置是先做等增和遞減的操作,再賦值
例如:int x=0; int z=x++; 結果x和z都是1
2.前置是先賦值變量再做遞增和遞減的操作
例如:int x=0;int z=++x;結果x=1,z=0
開發類的過程
1.找出類應該做的事情
2.列出實例變量和方法
3.編寫方法的偽碼
偽碼由三部分組成:實例變量的聲明,方法的聲明和方法的邏輯
4.編寫方法的測試應用程序(先寫測試用程序概念來自極限編程XP,這樣能夠更容易更快寫出代碼)
5.實現類
6.測試方法
7.除錯或重新設計
注意點
1.if和while語句判斷的都是boolean值的條件
2.int x=(int) 24.6;(int)可以取浮點數的數值取整數部分
3.執行java程序需要先用javac xxx.java進行編譯。然后使用java xxx來執行程序(注意,javac編譯時文件需要加.java后綴,然后編譯通過才可以使用java xxx來執行程序,但是這時不需要加.class后綴,直接用程序名即可)
4.每個.java文件只能有一個public的class類,否則編譯不通過(網上解釋說只能有一個公共的對外接口,雖然不是很明白)
5.main()函數中必須加(String[] args)才可以執行,否則編譯不通過。這是因為String數組接收了命令行的參數,雖然我們沒傳入任何參數,但實際上傳入了運行時的參數,我們可以打印一下就可以看到,否則沒有接收運行參數的是不能運行的。
