1.注釋
- 單行注釋:使用“//”開頭;
- 多行注釋:以“/*”開頭贸人,“*/”結(jié)尾尘颓,也可以作為行內(nèi)注釋疯趟;
- 文檔注釋:以“/**”開頭,“*/”結(jié)尾锡溯,通常在類前注釋赶舆,可以自動(dòng)生成項(xiàng)目的API哑姚。
注:注釋只在源碼中出現(xiàn),編譯時(shí)刪去芜茵,編譯后的class字節(jié)碼中無注釋叙量。
2.標(biāo)識(shí)符規(guī)則
命名規(guī)則:
- 以字母、下劃線或美元符號(hào)開頭夕晓;
- 其他部分可以是字母宛乃、下劃線、美元符號(hào)和數(shù)字的任意組合蒸辆;
- 大小寫敏感征炼,長(zhǎng)度無限制;
- 標(biāo)識(shí)符不可以是Java的關(guān)鍵字躬贡。
使用規(guī)范:
- 表示類名的標(biāo)識(shí)符:每個(gè)單詞的首字母大寫谆奥;
- 表示方法和變量的標(biāo)識(shí)符:第一個(gè)單詞小寫,從第二個(gè)單詞開始首字母大寫拂玻,如eat()酸些,eatFood();
- 字母包含不僅僅是英文檐蚜,也可以是漢字等等魄懂,但一般不建議使用漢字。
3.關(guān)鍵字/保留字
4.變量
- 變量本質(zhì)是一個(gè)“可操作的存儲(chǔ)空間”闯第,空間位置確定市栗,但里面放的值不確定,通過變量名來訪問“對(duì)應(yīng)的存儲(chǔ)空間”咳短。通過指定不同的變量類型填帽,給變量分配不同大小的存儲(chǔ)空間。
例如:double咙好、long是8個(gè)字節(jié)篡腌,int是4個(gè)字節(jié),每個(gè)字節(jié)8位勾效。 - Java是一種強(qiáng)類型語言嘹悼,每個(gè)變量都必須聲明其數(shù)據(jù)類型。
- 變量要素包括變量名稱层宫、變量類型和作用域绘迁。
- 雖然可以在一行聲明多個(gè)變量,但不建議卒密,因?yàn)闀?huì)降低程序的可讀性。
- 變量必須聲明和初始化后才能調(diào)用棠赛。
5.變量分類
- 局部變量:方法或語句塊內(nèi)部定義的變量哮奇,生命周期從聲明位置到方法或語句塊的結(jié)束膛腐。(使用前必須自行初始化)
- 成員變量:也叫實(shí)例變量,定義在方法外部鼎俘、類的內(nèi)部的變量哲身,從屬于對(duì)象,生命周期伴隨著對(duì)象始終贸伐。(如果不自行初始化勘天,會(huì)自動(dòng)初始化位該類型的默認(rèn)初始值)
- 靜態(tài)變量:也叫類變量,使用static定義捉邢,從屬于類脯丝,生命周期伴隨類始終,從類加載到卸載伏伐。
6.常量
- 符號(hào)常量:使用final修飾
- 字面常量:1宠进、2、3藐翎、’a'材蹬、'b'、True吝镣、False堤器、“Hello”
注:常量的賦值使用大寫字母,用下劃線隔開末贾。
例如:final String NAME='wmy'
7.基本數(shù)據(jù)類型
- 引用數(shù)據(jù)類型:占4個(gè)字節(jié)闸溃,用來表示變量的地址。
-
基本數(shù)據(jù)類型:8種基本數(shù)據(jù)類型未舟,見下圖圈暗。
數(shù)據(jù)類型的分類
8.整型常量/變量
- byte:占1個(gè)字節(jié),-128~+127
- short:占2個(gè)字節(jié)裕膀, -32768~+32767
- int:占4個(gè)字節(jié)员串,-231~231-1
- long:占8個(gè)字節(jié),-263~263-1昼扛,初始化時(shí)長(zhǎng)整型常數(shù)的聲明寸齐,要在數(shù)字后加l或L。
- 十進(jìn)制整數(shù):默認(rèn)抄谐;
- 八進(jìn)制整數(shù):要求以0開頭渺鹦;
- 十六進(jìn)制整數(shù):要求0x或0X開頭;
- 二進(jìn)制整數(shù):要求0b開頭蛹含。
舉例:
byte age = 30;
short salaty = 30000;
int population = 2000000000; //整形常量默認(rèn)是int類型
long globalPopulation = 7400000000L; //后面加個(gè)L表示long類型的常量
9.浮點(diǎn)型變量/常量
- float:占4個(gè)字節(jié)毅厚,又稱單精度類型,尾數(shù)可以精確到7位有效數(shù)字浦箱,很多情況下吸耿,float的精度難以滿足需求祠锣;float類型賦值時(shí)需要添加后綴f/F。
- double:占8個(gè)字節(jié)咽安,又稱雙精度類型伴网,位數(shù)可以精確到14位有效數(shù)字,為默認(rèn)的浮點(diǎn)類型妆棒。
舉例:
//float a = 3.14; //報(bào)錯(cuò)
float a = 3.14F;
double b = 6.28;
double c = 628E-2;
//浮點(diǎn)數(shù)時(shí)不精確的澡腾,一定不要用于比較!
float f = 0.1f;
double d = 1.0/10;
System.out.println(f==d); //結(jié)果為false
float d1 = 423432423f;
float d2 = d1+1;
if(d1==d2){
System.out.println("d1==d2");
}else{
System.ut.println("d1!=d2");
} //結(jié)果為的d1==d2
注:浮點(diǎn)數(shù)不能用于比較糕珊。java.math包下面兩個(gè)有用的類:BigInteger和BigDecimal动分,這兩個(gè)類可以處理任意長(zhǎng)度的數(shù)值,前者實(shí)現(xiàn)了任意精度的整數(shù)運(yùn)算放接,后者實(shí)現(xiàn)了任意精度的浮點(diǎn)運(yùn)算刺啦。舉例如下:
import java.math.*;
//使用精確浮點(diǎn)運(yùn)行,推薦BigDecimal
BigDecimal bd = BigDecimal.valueOf(1.0);
bd = bd.subtract(BigDecimal.valueOf(0.1));
bd = bd.subtract(BigDecimal.valueOf(0.1));
bd = bd.subtract(BigDecimal.valueOf(0.1));
bd = bd.subtract(BigDecimal.valueOf(0.1));
bd = bd.subtract(BigDecimal.valueOf(0.1));
System.out.println(bd); //0.5
System.out.println(1.0-0.1-0.1-0.1-0.1-0.1); //0.5000000000000001
BigDecimal bd2 = BigDecimal.valueOf(0.1);
BigDecimal bd3 = BigDecimal.valueOf(1.0/10.0);
System.out.println(bd2.equals(bd3)); //true
10.字符型變量/常量
- char:占2個(gè)字節(jié)纠脾,使用單引號(hào)來表示一個(gè)字符玛瘸,用來表示Unicode編碼表中的的字符,可允許有65536個(gè)字符苟蹈,可以用從‘\u0000’到‘\uFFFF’之間的十六進(jìn)制值來表示糊渊。
char a = 'T';
char b = '王';
char c = '\u0061';
System.out.println(c); //輸出a
//轉(zhuǎn)義字符也是char
System.out.println(""+'a'+'\t'+'b');
System.out.println(""+'a'+'\''+'b'); //輸出a'b
//String就是字符序列
String d = "abc";
11.boolean類型變量/常量
- boolean:在內(nèi)存中占1位,有兩個(gè)常量值(true/false)慧脱,不可以使用0或非0的整數(shù)替代true和false渺绒,這點(diǎn)與C語言不同。
boolean man = true;
if(man){ //極端不推薦:man == ture菱鸥,易出錯(cuò)
System.out.println("男性");
}