Java是解釋型語言
源檔案中每一個類都對應一個class檔案
public類只能有一個,其他類的個數不限,如果一個源檔案中有一個public類,則檔案名稱必須與public類的類名相同
java應用程式的執行入口是main方法。它有固定的書寫方法:
public static void main(String args[]) {.....}
java嚴格區分大小寫
java的方法由語句構成,每條語句以分號結束
java的注釋方有比c++多了1種 共有3種 第三種後面會講
java標識符由字母、數字、底線、$美元符組成。只能以字母、底線和美元符開頭
go和const雖然從未使用,但也作為java關鍵字保留
Java變數必須先聲明,然後必須進行賦值,才能使用
程式的執行過程:
1. 從硬碟上將程式Load到記憶體
2. 作業系統會找到代碼的main方法開始執行
執行過程中的記憶體管理:
分成4部分:code segment, data segment, stack, heap
Code segment中存放代碼
Data segment 中存放靜態變數,字串常量
Stack中存放局部變數
Heap:堆 是動態分配記憶體用的,存放new出來的東西
Java變數的分類:
按被聲明的位置劃分:
1. 局部變數:方法或語句塊內部定義的變數(包括方法的參數)
2. 成員變數:方法外部。類的內部定義的變數
注意:類的外面不能有變數的聲明
按所屬資料類型劃分:
1. 基礎資料型別 (Elementary Data Type)變數
2. 引用資料類型變數
Java中定義了4類8種基礎資料型別 (Elementary Data Type)
邏輯型: boolean
文本型: char
整數型: byte, short, int, long
浮點數型:float, double
Boolean類型不可以0或非0的整數替代true和false,這點和C不同
Java字元採用Unicoke編碼,每個字元佔兩個位元組,因而可用十六進位編碼形式表示
Java各整數類型有固定的表數範圍和欄位長度,其不受具體作業系統的影響,以保證Java的可移植性
Java的整型常量同樣有三種表示形式:十進位、八進位(0開頭)和十六進位(0X開頭)
Java語言整型常量預設是int類型,聲明long型常量可以後加‘L’或‘l’
例如: long L1 = 8888888888 編譯會報錯 後面必須加上L,因為系統會把88888888888當做int類型,而int類型無法放下這麼大的數。
類型 佔用位元組數 表數範圍
Byte 1 -128~127
Short 2 -2^15~2^15-1
Int 4 -2^31~2^31-1
Long 8 -2^63~2^63-1
Java所有的數都是帶符號的
Java的浮點類型的表數範圍和欄位長度同樣的固定的,不受平台影響
浮點類型預設的是double類型,如果需要聲明float類型必須後面加上‘f’或‘F’
類型 精度 佔用位元組 表數範圍
Float 小數點後7位 4 -3.403E38~3.403E38
Double 小數點後15位 8 -1.798E308~1.798E308
同樣float F = 12.3必須在後面加上F
逸出字元‘\u’表示後面跟著的是Unicode編碼
基礎資料型別 (Elementary Data Type)轉換:
Boolean 類型不能轉換到其他類型
整型、字元型、浮點型資料在運算中相互轉換,轉換時遵循以下規則:
容量小的類型自動轉換到容量大的資料類型;容量的大小(指的是表示的數的大小而不是記憶體中的位元組數)排序為:
Byte, short, char→int, long→float→double
Byte, short, char三者之間不會相互轉換,它們三者在計算時先轉會int型
容量大的類型轉換到容量小的類型要加強制轉換符,但可能造成精度降低或者溢出
有多種資料類型一起運算時候,系統首先自動將所有資料轉換成容量最大的那一種資料類型,然後再計算
實數常量預設為double型
整型常量預設為int型
可以直接將int類型的數賦值給byte和short類型,但不能超出它們的表數範圍