目錄
向Java打個(gè)招呼
public class HelloWorld{
public static void main(String args[]){
System.out.println("Hello World!");
}
}
喜聞樂(lè)見的Hello World艰管!滓侍。
標(biāo)識(shí)符和關(guān)鍵字
1.標(biāo)識(shí)符
標(biāo)識(shí)符是用來(lái)標(biāo)識(shí)變量蒋川、常量、方法撩笆、類捺球、對(duì)象等元素有效的字符序列缸浦。Java語(yǔ)言規(guī)定標(biāo)識(shí)符由字母、下劃線氮兵、美元符號(hào)和數(shù)字等組成裂逐。例如name,s_noo,$jio,boy_numbers
都是合法的標(biāo)識(shí)符。
標(biāo)識(shí)符的長(zhǎng)度不限泣栈,但是在實(shí)際命名時(shí)不宜過(guò)長(zhǎng)卜高,同時(shí)在Java中標(biāo)識(shí)符是區(qū)別大小寫的,例如money
和Money
就是不同的標(biāo)識(shí)符南片。
在Java程序設(shè)計(jì)中掺涛,對(duì)標(biāo)識(shí)符通常還有以下規(guī)定:
1.變量名、對(duì)象名疼进、方法名薪缆、包名的標(biāo)識(shí)符全部采用小寫字母;如果標(biāo)識(shí)符由多個(gè)單詞構(gòu)成伞广,則首字母小寫拣帽,其后的單詞的首字母大寫,非首字母小寫嚼锄,例如:getOffer
减拭。
2.類名的首字母要大寫。
3.常量名全部字母大寫区丑。
2.關(guān)鍵字
關(guān)鍵字是指由Java語(yǔ)言定義的峡谊、具有特殊含義的字符序列,每一個(gè)關(guān)鍵字都有一種特定的含義刊苍,不能將關(guān)鍵字作為普通的標(biāo)識(shí)符來(lái)使用既们。Java中的關(guān)鍵字如下圖所示:
數(shù)據(jù)類型與常量變量
1.數(shù)據(jù)類型的分類
數(shù)據(jù)是描述客觀事物的數(shù)字、字母以及能輸入計(jì)算機(jī)并能夠被計(jì)算機(jī)處理的符號(hào)正什。數(shù)據(jù)時(shí)計(jì)算機(jī)程序處理的對(duì)象啥纸。在Java中數(shù)據(jù)類型分為兩大類:基本數(shù)據(jù)類型和引用數(shù)據(jù)類型。
基本數(shù)據(jù)類型是由一種簡(jiǎn)單的數(shù)據(jù)組成的數(shù)據(jù)類型婴氮,其數(shù)據(jù)是不可分解的斯棒,可以直接參與該類型所允許的計(jì)算≈骶基本數(shù)據(jù)類型已由Java語(yǔ)言預(yù)定義荣暮,類型名是關(guān)鍵字,如int,float,char和boolean
等罩驻。
引用數(shù)據(jù)類型指的是數(shù)組穗酥、接口以及后面要提到的類的概念。
在Java中,基本數(shù)據(jù)類型的變量中保存數(shù)據(jù)值砾跃,而引用數(shù)據(jù)類型的變量中保存地址骏啰。
2.基本數(shù)據(jù)類型
整數(shù)類型
整數(shù)類型的數(shù)據(jù)值有負(fù)整數(shù)、零和正整數(shù)抽高。在Java中這些整數(shù)又被細(xì)分為4種類型:
- long(長(zhǎng)整型)
占8個(gè)字節(jié)判耕,取值范圍是[-2^63, 2^63-1]。 - int(整型)
占4個(gè)字節(jié)翘骂,取值范圍是[-2^31, 2^31-1]壁熄。 - short(短整型)
占2個(gè)字節(jié),取值范圍是[-2^15, 2^15-1]碳竟。 - byte(字節(jié)型)
占1個(gè)字節(jié)请毛,取值范圍是[-2^7, 2^7-1]。
在Java中一個(gè)整數(shù)的默認(rèn)類型是int
瞭亮。同時(shí)Java也提供了十進(jìn)制方仿、八進(jìn)制和十六進(jìn)制數(shù)的整數(shù)表示形式。
浮點(diǎn)數(shù)類型
浮點(diǎn)數(shù)類型表示數(shù)學(xué)中的實(shí)數(shù)统翩,即帶小數(shù)點(diǎn)的數(shù)仙蚜。Java中有兩種浮點(diǎn)數(shù)類型:
- float(單精度浮點(diǎn)數(shù))
占4個(gè)字節(jié),取值范圍是[-3.4E38, 3.4E38]厂汗。 - double(雙精度浮點(diǎn)數(shù))
占8個(gè)字節(jié)委粉,取值范圍是[-1.7E308,1.7E308]。
在Java中一個(gè)浮點(diǎn)數(shù)的默認(rèn)類型是double
娶桦。
字符類型
字符類型(char)表示Unicode字符贾节,一個(gè)字符占16位。字符類型數(shù)據(jù)有2種表示方法:
- char(單個(gè)字符)
用單引號(hào)括起來(lái)表示單個(gè)字符衷畦,例如'A'
或'a'
栗涂。 - String(字符串)
用雙引號(hào)將由多個(gè)字符組成的字符串來(lái)表示,如"lzy"
祈争。
布爾類型
布爾類型(boolean)表示邏輯量菩混,也稱邏輯類型忿墅。布爾類型只有true(真)和false(假)兩個(gè)值。
3.常量
常量是指在程序運(yùn)行中其指始終保持不變的量疚脐,整型、浮點(diǎn)數(shù)型邢疙、字符型、布爾型和字符串型都可以是常量乡摹,這樣類型的常量稱為直接常量。
在Java中,常量除了使用直接常量方式表示外容劳,還可以用標(biāo)識(shí)符表示常量,稱為符號(hào)常量。符號(hào)常量有4個(gè)基本要素:名稱楼熄、類型较木、值和使用范圍致开。符號(hào)常量必須先聲明后使用虹蒋。符號(hào)常量的聲明方式是:final [修飾符] 類型標(biāo)識(shí)符 常量名 = (直接)常量
皆撩,舉例來(lái)說(shuō):
final float PI = 3.1415926;
final char SEX = 'M';
final int MAX = 2500;
4.變量
變量指的是在程序中可以改變其值的量,變量的名稱是用戶定義的標(biāo)識(shí)符盲泛。變量可以是基本數(shù)據(jù)類型玛迄,也可以是引用數(shù)據(jù)類型勒虾。變量必須先聲明质况,后使用蝎土,變量的聲明方式是:[修飾符] 類型標(biāo)識(shí)符 變量名 = 常量
誊涯,舉例來(lái)說(shuō):
float a = 28.6;
int b = 22;
double c = 3.14;
char d = 'd';
boolean e = true;
運(yùn)算符和表達(dá)式
1.運(yùn)算符
算術(shù)運(yùn)算符
算術(shù)運(yùn)算符要完成數(shù)學(xué)上的加、減蒜撮、乘暴构、除四則運(yùn)算。算數(shù)運(yùn)算符包括雙目運(yùn)算符和單目運(yùn)算符淀弹。其中雙目運(yùn)算符包括+丹壕、-庆械、*薇溃、/、%
缭乘。單目運(yùn)算符包括++沐序、--、-(負(fù)號(hào))
堕绩。
關(guān)系運(yùn)算符
關(guān)系運(yùn)算符是兩個(gè)操作數(shù)之間的比較運(yùn)算策幼。關(guān)系運(yùn)算符有6種:>、<奴紧、>=特姐、<=、==黍氮、!=
唐含。這6種關(guān)系運(yùn)算符都可用于整數(shù)、浮點(diǎn)數(shù)以及字符類的操作數(shù)沫浆,==
和!=
還可以用于布爾類型以及字符串類型的操作數(shù)捷枯。
關(guān)系運(yùn)算符的運(yùn)算結(jié)果是布爾類型值。如果關(guān)系成立专执,結(jié)果值為true淮捆;否則,結(jié)果的值為false本股。
邏輯運(yùn)算符
邏輯運(yùn)算是對(duì)布爾類型操作數(shù)進(jìn)行的運(yùn)算攀痊,運(yùn)算的結(jié)果仍然是布爾類型的值。邏輯運(yùn)算符有3個(gè):&&(與)拄显、||(或)苟径、!(非)
。例如:
!true; //結(jié)果是false
true&&false; //結(jié)果是false
true||false; //結(jié)果是true
條件運(yùn)算符
條件運(yùn)算的格式是:表達(dá)式1 ? 表達(dá)式2 :表達(dá)式3
凿叠,其中?
稱為條件運(yùn)算符涩笤。條件運(yùn)算符根據(jù)表達(dá)式1
的值來(lái)決定最終表達(dá)式的值是表達(dá)式2
的值還是表達(dá)式3
的值嚼吞。例如:
int min,x=4,y=8;
min=(x<y) ? x:y; //結(jié)果是min=4
括號(hào)運(yùn)算符
括號(hào)運(yùn)算符( )
用來(lái)改變表達(dá)式中運(yùn)算符的運(yùn)算次序。即先進(jìn)行括號(hào)內(nèi)的運(yùn)算蹬碧,再進(jìn)行括號(hào)外的運(yùn)算舱禽。
2.表達(dá)式
表達(dá)式是用運(yùn)算符將操作數(shù)連接起來(lái)的符合語(yǔ)法規(guī)則的運(yùn)算式,表達(dá)式的數(shù)據(jù)類型由運(yùn)算結(jié)果的數(shù)據(jù)類型決定恩沽。根據(jù)表達(dá)式的數(shù)據(jù)類型誊稚,表達(dá)式分為3類:算術(shù)表達(dá)式、布爾表達(dá)式和字符串表達(dá)式罗心。表達(dá)式的操作數(shù)可以是常量里伯、變量以及方法的調(diào)用。例如:
int i=5,j=11,k;
boolean f;
k=(24+5*i)*j; //算術(shù)表達(dá)式
f=(i*2)>j; //布爾表達(dá)式
運(yùn)算符優(yōu)先級(jí)
當(dāng)表達(dá)式中有多個(gè)運(yùn)算符參與到運(yùn)算時(shí)渤闷,必須為每種運(yùn)算符規(guī)定一個(gè)優(yōu)先級(jí)來(lái)決定運(yùn)算符在表達(dá)式中的運(yùn)算次序疾瓮。優(yōu)先級(jí)高的先運(yùn)算,優(yōu)先級(jí)低的后運(yùn)算飒箭,優(yōu)先級(jí)相同的有結(jié)合性來(lái)確定順序狼电。
數(shù)據(jù)類型的轉(zhuǎn)換
當(dāng)一種數(shù)據(jù)類型的值賦給另一個(gè)數(shù)據(jù)類型的變量時(shí),出現(xiàn)了數(shù)據(jù)類型的轉(zhuǎn)換弦蹂。在整數(shù)類型和浮點(diǎn)數(shù)類型中肩碟,可以將數(shù)據(jù)類型按照精度從“低”到“高”排列如下:
低 ------------------------------------> 高
byte,short,char—> int —> long—> float —> double
在賦值運(yùn)算中,數(shù)據(jù)類型的轉(zhuǎn)換規(guī)則如下:
(1)當(dāng)?shù)图?jí)別的值賦給高級(jí)別的變量時(shí)凸椿,系統(tǒng)自動(dòng)完成數(shù)據(jù)類型的轉(zhuǎn)換削祈。例如:
float a = 200; //自動(dòng)換為浮點(diǎn)型
int i = 52;
float j;
j = i; //自動(dòng)轉(zhuǎn)換
(2)當(dāng)高級(jí)別的值賦給低級(jí)別的變量時(shí),必須要進(jìn)行強(qiáng)制轉(zhuǎn)換脑漫。例如:
int i;
i = (int)26L;
注意轉(zhuǎn)換過(guò)程中可能導(dǎo)致溢出或損失精度髓抑,例如:
int i = 128;
byte b = (byte)i; //溢出
(int)23.7 == 23;
(int)-45.89f == -45; //損失精度