????????????????????????????????????javaSE
java程序結(jié)構(gòu)
Java源程序一般由一個(gè)或多個(gè)編譯單元組成巷燥,每個(gè)編譯單元只能包含以下內(nèi)容(空格和注釋除外):package語句北救、import語句臀叙、類聲明坐梯、接口聲明
package語句:Java可最多只有一行package語句震嫉,若有該語句則必須是源程序的第一行語句(注釋語句除外)
import語句:Java可有零個(gè)或多個(gè)import語句森瘪,這類語句必須位于所有類定義之前,當(dāng)源程序使用了除java.lang包以外的類時(shí)票堵,無論是系統(tǒng)類還是自己定義包中的類扼睬,都必須用import語句引入,以通知編譯器在編譯時(shí)找到相應(yīng)的類文件
類定義:定義1個(gè)或者多個(gè)類定義悴势。
接口(interface)定義:定義0個(gè)或者多個(gè)接口窗宇。
1、package語句:Java可最多只有一行package語句瞳浦,若有該語句則必須是源程序的第一行語句(注釋語句除外)
2担映、import語句:Java可有零個(gè)或多個(gè)import語句,這類語句必須位于所有類定義之前叫潦,當(dāng)源程序使用了除java.lang包以外的類時(shí)蝇完,無論是系統(tǒng)類還是自己定義包中的類禁悠,都必須用import語句引入密强,以通知編譯器在編譯時(shí)找到相應(yīng)的類文件
3、類定義:定義1個(gè)或者多個(gè)類定義碌尔。
4傻咖、接口(interface)定義:定義0個(gè)或者多個(gè)接口朋魔。
Java關(guān)鍵字
概念
Java關(guān)鍵字是字符序列,在Java中具有特定含義和用途卿操,不能用作其他用途
關(guān)鍵字列表
Java注釋
//? ? ?注釋一行
/*? */? ? ? ?表示一行或多行注釋
/** **/? ? ? ? ? ?表示文檔注釋
Java標(biāo)識(shí)符
Java語言規(guī)定標(biāo)識(shí)符由字母警检、下劃線孙援、美元符號(hào)和數(shù)字組成,并且第一個(gè)字符不能是數(shù)字
標(biāo)識(shí)符中的字母是區(qū)分大小寫的
命名規(guī)則
1扇雕、標(biāo)識(shí)符盡量采用有意義的字符序列拓售,便于從標(biāo)識(shí)符識(shí)別出所代表的基本含義,即顧名思義
2镶奉、包名:包名是全小寫的名詞础淤,中間可以由點(diǎn)分隔開,例如java.awt.event.
3哨苛、類名:首字母大寫鸽凶,通常由多個(gè)單詞合成一個(gè)類名,要求每個(gè)單詞的首字母也要大寫建峭,例如HelloWorldApp玻侥。
4、接口名:命名規(guī)則與類名相同迹缀,例如Collection使碾。
5、方法名:往往由多個(gè)單詞合成祝懂,第一個(gè)單詞通常為動(dòng)詞且首字母為小寫票摇,其他每個(gè)單詞的首字母都要大寫,例如:balanceAccount和isButtonPressed砚蓬。
6矢门、變量名:全小寫,一般為名詞灰蛙,例如使用area表示面積變量祟剔,length表示長度變量等。
7摩梧、常量名:基本數(shù)據(jù)類型的常量名為全大寫物延,如果是由多個(gè)單詞構(gòu)成,可以用下劃線隔開仅父,例如YEAR和MAX_VALUE;如果是對(duì)象類型的常量叛薯,則是大小寫混合,由大寫字母打單詞隔開笙纤。
8耗溜、對(duì)常量和方法而言,其名稱不宜以“_”(下劃線)和“$”為第一個(gè)字符省容,因?yàn)檫@兩個(gè)字符對(duì)于內(nèi)部有特殊含義抖拴。
基本數(shù)據(jù)類型
基本數(shù)據(jù)類型(也稱作簡(jiǎn)單數(shù)據(jù)類型)
邏輯類型????boolean
字符類型????char
整數(shù)類型????int、byte腥椒、short阿宅、long
實(shí)數(shù)類型????double和float
復(fù)合數(shù)據(jù)類型????包括數(shù)組候衍、類、和接口
基本數(shù)據(jù)類型轉(zhuǎn)換
規(guī)則一
當(dāng)把精度低的變量的值賦給精度高的變量時(shí)家夺,系統(tǒng)自動(dòng)完成數(shù)據(jù)類型的轉(zhuǎn)換
規(guī)則二
當(dāng)把精度高的變量的值賦給精度低的變量時(shí)脱柱,必須使用顯示類型轉(zhuǎn)換運(yùn)算
規(guī)則三
char與byte或short之間的賦值必須實(shí)行強(qiáng)制轉(zhuǎn)換
注意
(1)強(qiáng)制轉(zhuǎn)換運(yùn)算可能導(dǎo)致精度的損失伐弹。當(dāng)把一個(gè)整數(shù)賦值給一個(gè)byte拉馋、short、int或long型變量時(shí)惨好,不可以超出這些變量的取值范圍
(2)布爾類型不允許進(jìn)行任何數(shù)據(jù)類型轉(zhuǎn)換
(3)對(duì)于引用數(shù)據(jù)類型煌茴,類型轉(zhuǎn)換只存在于有繼承關(guān)系的類中
運(yùn)算符和表達(dá)式
1、Java算數(shù)運(yùn)算符
主要包括一元運(yùn)算(如+日川,-蔓腐,++及--)和二元運(yùn)算(如+,-龄句,*回论,/及%),與c/c++基本相同
注意
(1)%運(yùn)算符不但可以對(duì)整型數(shù)據(jù)進(jìn)行運(yùn)算分歇,還可以對(duì)浮點(diǎn)型數(shù)據(jù)進(jìn)行運(yùn)算傀蓉,例如:3.6%2.5的值等于1.1。這點(diǎn)在C/C++中是不允許的
(2)+即可用于數(shù)值型數(shù)據(jù)運(yùn)算职抡,還可用于字符串的連接葬燎。
(3)++X,--X:表示在使用x之前缚甩,先使x的值加(減)1谱净,即“先運(yùn)算后使用”
(4)x++,x--:表示在使用x之后,使x的值加(減)1擅威,即“先使用后運(yùn)算”
2壕探、關(guān)系運(yùn)算符與關(guān)系表達(dá)式
Java關(guān)系運(yùn)算符用來比較兩個(gè)值得關(guān)系,關(guān)系運(yùn)算符的運(yùn)算結(jié)果是boolean型數(shù)據(jù)郊丛,當(dāng)運(yùn)算符對(duì)應(yīng)的關(guān)系成立時(shí)李请,運(yùn)算結(jié)果是ture,否則是false宾袜。
運(yùn)算符:<捻艳,<=,>庆猫,>=认轨,=,!=
3月培、邏輯運(yùn)算符合邏輯表達(dá)式
邏輯運(yùn)算用來實(shí)現(xiàn)boolean型數(shù)據(jù)的邏輯“與”(&&)嘁字、或(||)和“非”(6骷薄)運(yùn)算,運(yùn)算結(jié)果是boolean型數(shù)據(jù)纪蜒。
4衷恭、賦值運(yùn)算符與復(fù)制表達(dá)式
(1)賦值運(yùn)算符
格式:變量=表達(dá)式
作用:將一個(gè)表達(dá)式的值賦值給一個(gè)變量
(2)復(fù)合賦值運(yùn)算符
常見的運(yùn)算符有+=,-=纯续、*=随珠、/=及%=
(3)賦值表達(dá)式
形式:<變量><賦值運(yùn)算符><表達(dá)式>
5、位運(yùn)算符
&:二元運(yùn)算猬错,邏輯以窗看,參與運(yùn)算的兩個(gè)操作數(shù),如果兩個(gè)相應(yīng)位都為1(或true)倦炒,則該為的結(jié)果為1(或true),否則為0(或false)
|:二元運(yùn)算显沈,邏輯或,參與運(yùn)算的兩個(gè)操作數(shù)逢唤,如果兩個(gè)相應(yīng)位有一個(gè)為1(或true)拉讯,則該位的結(jié)果為1(或true),否則為0(或false)
^:二元運(yùn)算鳖藕,邏輯異或魔慷,參與運(yùn)算的兩個(gè)操作數(shù),如果兩個(gè)相應(yīng)位的值想反吊奢,則該位的結(jié)果為1(或true)盖彭,否則為0(或false)
~:一元運(yùn)算,對(duì)數(shù)據(jù)的每個(gè)二進(jìn)制位按位取反
<<:二元運(yùn)算页滚,操作數(shù)op1按位左移op2位召边,每左移一位,其數(shù)值加倍
>>:二元運(yùn)算裹驰,操作數(shù)op1按位右移op2位隧熙,每右移一位,其數(shù)值加倍
>>>:二元運(yùn)算幻林,操作數(shù)op1按位右移op2位贞盯,正整數(shù)運(yùn)算與>>同,負(fù)整數(shù)則求該數(shù)的反碼沪饺,但符號(hào)位不變
對(duì)于byte或short型數(shù)據(jù)躏敢,a<<n的運(yùn)算結(jié)果是int型精度。當(dāng)進(jìn)行a<<2運(yùn)算時(shí)整葡,計(jì)算系統(tǒng)首先將a升級(jí)為int型數(shù)據(jù)件余,對(duì)于正數(shù)將高位用0填充,負(fù)值用1填充,然后再進(jìn)行位移運(yùn)算
6啼器、條件運(yùn)算符
符號(hào)是"?? :”
用法:op1旬渠?op2:op3
要求:第一個(gè)操作元op1的值必須是boolean型數(shù)據(jù),op2和op3必須同類型
Java語句
1端壳、概述
(1)方法調(diào)用語句
對(duì)象可以調(diào)用類中的方法產(chǎn)生行為
(2)表達(dá)式語句
一個(gè)表達(dá)式的最后加上一個(gè)分號(hào)就構(gòu)成了一個(gè)語句告丢,稱作表達(dá)式語句。分號(hào)是語句不可缺少的部分
(3)復(fù)合語句
可以用{}把一些語句括起來構(gòu)成復(fù)合語句损谦,一個(gè)復(fù)合語句也稱作一個(gè)語句塊
(4)控制語句
控制語句包括條件分支語句岖免、循環(huán)語句、跳轉(zhuǎn)語句
(5)package語句和import語句
(5)package語句和import語句與類和對(duì)象有關(guān)
2成翩、分支語句
(1)條件分支語句
if~else語句
格式:if(條件表達(dá)式){若干語句}else{若干語句}
注意:
條件表達(dá)式左右兩邊括號(hào)不能省略觅捆,否則編譯時(shí)會(huì)出錯(cuò)
條件表達(dá)式中雙等于(==)不能省略為單等于(=)
條件表達(dá)式的值必須是boolean型,這點(diǎn)和c語言是有差異的
多條件if~else? if·else語句
格式:if(表達(dá)式1){若干語句}? ? ? else if(表達(dá)式2){若干語句}? ...? else if(表達(dá)式n){若干語句}else{? 若干語句? }
switch開關(guān)語句
格式:switch(表達(dá)式){? case 常量值1:? 若干語句? break;? ? ? ? case 常量值2 :? 若干語句? break;? ? ....? ? case 常量值 n:? 若干語句? break;? default:? 若干語句? }
3麻敌、循環(huán)語句
(1)、循環(huán)語句
while循環(huán)
格式:while(表達(dá)式){若干語句}
do while循環(huán)
格式:do{若干語句}? while(表達(dá)式)
for循環(huán)
格式:for(表達(dá)式1;表達(dá)式2;表達(dá)式3;){若干語句}?
表達(dá)式2必須是一個(gè)求值為boolean型數(shù)據(jù)的表達(dá)式
4掂摔、跳轉(zhuǎn)語句
包括break語句术羔、continue語句和return語句
(1)break語句
作用
在switch語句中,break語句用來終止switch語句的執(zhí)行乙漓,使程序從switch語句后的第一個(gè)語句開始執(zhí)行级历。
跳出所指定的循環(huán),并從緊跟該循環(huán)的第一條語句處執(zhí)行
跳出做指定的代碼塊叭披,并從緊跟該代碼塊的第一個(gè)語句執(zhí)行
(2)continue語句
與break語句的比較
相同點(diǎn)
都可用在循環(huán)中寥殖,用于流程控制
執(zhí)行這兩個(gè)語句時(shí),若后面還有其他語句涩蜘,將不再繼續(xù)執(zhí)行
不同點(diǎn)
continue語句的標(biāo)號(hào)必須位于封閉的循環(huán)語句的前面
break語句的標(biāo)號(hào)只需位于封閉語句塊的前面嚼贡,但不一定定是循環(huán)語句