1 Java 主類結(jié)構
包聲明
一個Java程序是由若干個類組成的。
語句package Number聲明該類所在的包為Number乘盖。
聲明成員變量和局部變量
類的全局變量(成員變量):類的屬性 聲明在類體中
局部變量:方法中的屬性 聲明在方法體中
編寫主方法
main()方法是類體中的主方法早歇,從{開始到}結(jié)束倾芝。
public、static箭跳、void分別是main()方法的權限修飾符晨另、靜態(tài)修飾符、返回值修飾符衅码。
Java中的main()方法必須聲明為public static void拯刁。
導入API類庫
Java中通過import關鍵字導入相關的類。
API文檔是程序開發(fā)人員不可或缺的工具
2 基本數(shù)據(jù)類型
有8種基本數(shù)據(jù)類型來存儲數(shù)值逝段、字符和布爾值垛玻。
- 數(shù)值型
整數(shù)類型 byte short int long
浮點類型 float double - 字符型
- 布爾型
整數(shù)類型
十進制:不能以0開頭,0除外
八進制:必須以0開頭
十六進制:必須以0x或0X開頭
數(shù)據(jù)類型 | 占用空間(位) | 字節(jié) |
---|---|---|
byte | 8 | 1 |
short | 16 | 2 |
int | 32 | 4 |
long | 64 | 8 |
每種類型都有取值范圍奶躯,如byte為-128~127
超出范圍會出錯
對于long型帚桩,若賦給的值超出int范圍,則需要在數(shù)字后加L或1嘹黔,表示該數(shù)值為長整數(shù)
如:long num = 2147483650L
浮點類型
數(shù)據(jù)類型 | 占用空間(位) | 字節(jié) |
---|---|---|
float | 32 | 4 |
double | 64 | 8 |
小數(shù)默認被看作double型
若使用float則需要在后面添加F或f账嚎。
double后面D或d,可加可不加儡蔓。
字符類型
- char型
字符類型char用于存儲單個字符郭蕉,占用16位,2字節(jié)的內(nèi)存空間喂江。
單引號' '為字符型變量
雙引號" "為字符串召锈,即使只有一個字符。
定義char字符變量
char x = 'a';
char x = 97;
二者等價
轉(zhuǎn)義字符
與C中含義相同获询。
將轉(zhuǎn)義字符賦值給字符變量時涨岁,與字符常量值一樣拐袜,需要使用單引號。布爾類型
只有true和false兩個值梢薪。
不能與整數(shù)類型轉(zhuǎn)換蹬铺。
boolen b = true;
3 變量與常量
標識符和關鍵字
標識符
第一個字符不能是數(shù)字
由任意順序的字母秉撇、下劃線甜攀、美元符號和數(shù)字組成,且不能是Java中的保留關鍵字畜疾。關鍵字
不可以作為標識符來使用赴邻。
聲明變量
程序執(zhí)行時,程序代碼會加載到內(nèi)存中的程序區(qū)啡捶,數(shù)據(jù)暫時存儲在數(shù)據(jù)區(qū)中姥敛。
Java中允許使用漢字或其他語言文字作為變量名
如int 年齡 = 21
但建議盡量不要使用這些語言文字作為變量名。
聲明常量
在Java中聲明常量瞎暑,除了要指定數(shù)據(jù)類型以外彤敛,還需要通過final關鍵字進行限定。
final常量只能被賦值一次了赌。
final double PI = 3.1415926D;
常量名通常使用大寫字母
當定義的final常量屬于“成員變量”時墨榄,必須在定義時就設定它的初值,否則將會產(chǎn)生編譯錯誤勿她。
變量的有效范圍
成員變量
類體中所定義的變量袄秩。
在整個類中都有效。
分為兩種:
實例變量:int x = 45;
靜態(tài)變量(類變量):static int y = 90;
靜態(tài)變量的有效范圍可以跨類逢并,可以直接以類名.靜態(tài)變量
的方式在其他類內(nèi)使用之剧。局部變量
在方法內(nèi)部定義,“{”與“}”之間的代碼中聲明的變量砍聊,只在當前代碼塊中有效背稼。
4 運算符(基本與C無二)
賦值運算符
-
算術運算符
-
自增和自減運算符
-
比較運算符
邏輯運算符
注意結(jié)合方向
&與&&的區(qū)別:
&會判斷兩個表達式
&&當?shù)谝粋€表達式為false時不去判斷第二個了,直接輸出結(jié)果從而節(jié)省計算機判斷的次數(shù)玻蝌。
- 位運算符
針對兩個整形數(shù)據(jù)a蟹肘、b的對應位進行邏輯運算。
按位與&
按位或|
按位取反~
按位異或^
移位操作
移位操作
可以實現(xiàn)整數(shù)除以或乘以2n
例如:
y<<2與y*4的結(jié)果相同俯树;y>>1與y%2的結(jié)果相同帘腹。
左移<< 右移>> 無符號右移>>>
左移:移空部分補0
右移:如果最高位是0 ,右移空的位就填0许饿;
如果最高位是1阳欲,則右移空的位就填1。
無符號右移:左側(cè)被移空的高位都填入0
移位運算符適用的數(shù)據(jù)類型有:
byte short char int long
- 三元運算符
條件式?值1:值2
條件式值為true,取1胸完,否則取2。
等價于
if …… else語句
數(shù)據(jù)類型轉(zhuǎn)換
-
隱式類型轉(zhuǎn)換
-
顯示類型轉(zhuǎn)換
代碼注釋與編碼規(guī)范
注釋
- 單行注釋 //
- 多行注釋
/*
注釋內(nèi)容
*/
多行注釋中可嵌套單行注釋
多行注釋中不可嵌套多行注釋
- 文檔注釋
/** 注釋 */
編碼規(guī)范
- 每條語句單獨一行翘贮,分號結(jié)束
- 盡量每個變量的聲明單獨占一行
對于局部變量應在聲明的同時對其進行初始化赊窥。 - Java中關鍵詞之間的多個空格均被視作一個。
- 多加注釋