2019-12-29

????????????????????????????????????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)鍵字列表

關(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)語句



?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市同诫,隨后出現(xiàn)的幾起案子粤策,更是在濱河造成了極大的恐慌,老刑警劉巖误窖,帶你破解...
    沈念sama閱讀 221,635評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件叮盘,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡霹俺,警方通過查閱死者的電腦和手機(jī)柔吼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來丙唧,“玉大人愈魏,你說我怎么就攤上這事。” “怎么了蝌戒?”我有些...
    開封第一講書人閱讀 168,083評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵串塑,是天一觀的道長。 經(jīng)常有香客問我北苟,道長桩匪,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,640評(píng)論 1 296
  • 正文 為了忘掉前任友鼻,我火速辦了婚禮傻昙,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘彩扔。我一直安慰自己妆档,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評(píng)論 6 397
  • 文/花漫 我一把揭開白布虫碉。 她就那樣靜靜地躺著贾惦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪敦捧。 梳的紋絲不亂的頭發(fā)上须板,一...
    開封第一講書人閱讀 52,262評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音兢卵,去河邊找鬼习瑰。 笑死,一個(gè)胖子當(dāng)著我的面吹牛秽荤,可吹牛的內(nèi)容都是我干的甜奄。 我是一名探鬼主播,決...
    沈念sama閱讀 40,833評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼窃款,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼课兄!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起雁乡,我...
    開封第一講書人閱讀 39,736評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤第喳,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后踱稍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體曲饱,經(jīng)...
    沈念sama閱讀 46,280評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評(píng)論 3 340
  • 正文 我和宋清朗相戀三年珠月,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了扩淀。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,503評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡啤挎,死狀恐怖驻谆,靈堂內(nèi)的尸體忽然破棺而出卵凑,到底是詐尸還是另有隱情,我是刑警寧澤胜臊,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布勺卢,位于F島的核電站,受9級(jí)特大地震影響象对,放射性物質(zhì)發(fā)生泄漏黑忱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評(píng)論 3 333
  • 文/蒙蒙 一勒魔、第九天 我趴在偏房一處隱蔽的房頂上張望甫煞。 院中可真熱鬧,春花似錦冠绢、人聲如沸抚吠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽楷力。三九已至,卻和暖如春邮利,著一層夾襖步出監(jiān)牢的瞬間弥雹,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評(píng)論 1 272
  • 我被黑心中介騙來泰國打工延届, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人贸诚。 一個(gè)月前我還...
    沈念sama閱讀 48,909評(píng)論 3 376
  • 正文 我出身青樓方庭,卻偏偏與公主長得像,于是被迫代替她去往敵國和親酱固。 傳聞我的和親對(duì)象是個(gè)殘疾皇子械念,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容