java學(xué)習(xí)筆記第一天

java基礎(chǔ)語(yǔ)法


java基礎(chǔ)語(yǔ)法

對(duì)象:對(duì)象是類(lèi)的一個(gè)實(shí)例地啰,有狀態(tài)和行為。

類(lèi):類(lèi)是一個(gè)模板褪贵,它描述一類(lèi)對(duì)象的行為和狀態(tài)。

方法:方法就是行為抗俄,一個(gè)類(lèi)可以有很多方法脆丁。邏輯運(yùn)算,數(shù)據(jù)修改都是在方法中完成的橄镜。

實(shí)例變量:每個(gè)對(duì)象都有自己的實(shí)例變量偎快,對(duì)象的狀態(tài)由這些實(shí)例變量的值決定冯乘。

基本語(yǔ)法

大小寫(xiě)敏感:java是對(duì)大小寫(xiě)敏感的洽胶。

類(lèi)名:在java中類(lèi)名的首字母應(yīng)該大寫(xiě),如果由多個(gè)單詞組成裆馒,則采用駝峰式寫(xiě)法姊氓。

方法名:所有方法名都應(yīng)該以小寫(xiě)字母開(kāi)頭,如果方法名包含有若干單詞喷好,則后面的單詞首字母應(yīng)該大寫(xiě)翔横。

源文件名:源文件名必須和類(lèi)名相同。當(dāng)保存文件的時(shí)候梗搅,應(yīng)該使用類(lèi)名作為文件名來(lái)保存禾唁,文件名的后綴為.java效览。(如果文件名和類(lèi)名不相同則會(huì)導(dǎo)致編譯錯(cuò)誤)

java標(biāo)識(shí)符

java所有組成部分都需要名字。類(lèi)名荡短,變量名丐枉,以及方法名都被稱(chēng)為標(biāo)識(shí)符。

1.所有標(biāo)識(shí)符都應(yīng)該以字母掘托,美元符號(hào)$瘦锹,或者下劃線開(kāi)頭。

2.首字母之后可以是任何字符的組合形式闪盔。

3.關(guān)鍵字不能用作標(biāo)識(shí)符弯院。

4.標(biāo)識(shí)符也同樣對(duì)大小寫(xiě)敏感。

java修飾符

像其他的面向?qū)ο笳Z(yǔ)言一樣泪掀,java可以使用修飾符來(lái)修飾類(lèi)中的方法和屬性听绳。

兩類(lèi)修飾類(lèi):

1.訪問(wèn)控制修飾符:default ,public ,protected, private;

2.非訪問(wèn)控制修飾符:final ,abstract,static,synchronized,volatile;

java變量:

1.局部變量

2.類(lèi)變量(靜態(tài)變量)

3.成員變量(非靜態(tài)變量)

java數(shù)組

數(shù)組是存儲(chǔ)在堆上的對(duì)象,可以保存多個(gè)同類(lèi)型變量异赫。

java枚舉

java5.0引入了枚舉辫红,枚舉限制變量只能是預(yù)先設(shè)定好的值,使用枚舉可以減少代碼中的bug.

注意:枚舉可以單獨(dú)聲明或者聲明在類(lèi)里面祝辣。方法讼育,變量,構(gòu)造函數(shù)也可以在枚舉中定義庆杜。

java空行

空白行泌绣,或者有注釋的行,java編譯器都會(huì)忽略掉孕荠。

繼承

在java中娩鹉,一個(gè)類(lèi)可以其他類(lèi)派生。如果你要?jiǎng)?chuàng)建一個(gè)類(lèi)稚伍,而且已經(jīng)存在一個(gè)具有你所需要得屬性和方法弯予,那么你可以將新創(chuàng)建的類(lèi)繼承該類(lèi)。利用繼承的方法个曙,可以重用已存在類(lèi)的方法和屬性锈嫩,而不用重寫(xiě)這些代碼,被繼承的類(lèi)稱(chēng)為是超類(lèi)垦搬,派生類(lèi)稱(chēng)為子類(lèi)呼寸。

接口

在java中,接口可理解為對(duì)象間相互通信的協(xié)議猴贰。

java對(duì)象和類(lèi)


java對(duì)象和類(lèi)

java作為一門(mén)面向?qū)ο笳Z(yǔ)言对雪,支持下面一些概念:

多態(tài),繼承米绕,封裝瑟捣,抽象馋艺,類(lèi),對(duì)象迈套,實(shí)例丈钙,方法,消息解析交汤。

java中的對(duì)象

對(duì)象的狀態(tài)就是屬性雏赦,行為通過(guò)方法體現(xiàn)。

在軟件開(kāi)發(fā)過(guò)程中芙扎,方法操作對(duì)象內(nèi)部狀態(tài)的改變星岗,對(duì)象的相互調(diào)用也是通過(guò)方法來(lái)完成的。

java中的類(lèi)

類(lèi)可以是看作是創(chuàng)建java對(duì)象的模板戒洼。

一個(gè)類(lèi)中包含的變量:

? ? ? ?局部變量:在方法俏橘,構(gòu)造方法或者語(yǔ)句塊中定義的變量被稱(chēng)為局部變量。變量聲明和初始化都是在方法中圈浇,方法結(jié)束后寥掐,變量就會(huì)自動(dòng)銷(xiāo)毀。

? ? ? ?成員變量:成員變量定義在類(lèi)中磷蜀,方法體之外的變量召耘。這種變量在創(chuàng)建對(duì)象的時(shí)候?qū)嵗3蓡T變量可以被類(lèi)中方法褐隆,構(gòu)造方法和特定類(lèi)的語(yǔ)句塊訪問(wèn)污它。

類(lèi)變量:類(lèi)變量也聲明在類(lèi)中,方法體之外庶弃,但必須聲明為static類(lèi)型衫贬。

一個(gè)類(lèi)可以擁有多個(gè)方法。

構(gòu)造方法

每個(gè)類(lèi)都有一個(gè)構(gòu)造方法歇攻,如果沒(méi)有顯式地為類(lèi)定義構(gòu)造方法固惯,java編譯器將會(huì)為該類(lèi)提供一個(gè)默認(rèn)構(gòu)造方法。

在創(chuàng)建一個(gè)對(duì)象的時(shí)候缴守,至少要調(diào)用一個(gè)構(gòu)造方法葬毫。構(gòu)造方法的名稱(chēng)必須與類(lèi)同名,一個(gè)類(lèi)可以由多個(gè)構(gòu)造方法斧散。

創(chuàng)建對(duì)象

對(duì)象是根據(jù)類(lèi)創(chuàng)建的供常。使用new關(guān)鍵字來(lái)創(chuàng)建一個(gè)對(duì)象摊聋。

第一步(聲明):聲明一個(gè)對(duì)象鸡捐,包括對(duì)象名稱(chēng)和對(duì)象類(lèi)型;

第二步(實(shí)例化):使用關(guān)鍵字new來(lái)創(chuàng)建一個(gè)對(duì)象麻裁。

第三步(初始化):使用new創(chuàng)建對(duì)象時(shí)箍镜,會(huì)調(diào)用構(gòu)造方法初始化對(duì)象源祈。

訪問(wèn)實(shí)例變量和方法

//實(shí)例化對(duì)象

ObjectReference = new Constructor();

//訪問(wèn)對(duì)象的變量

ObjectReference.variableName;

//調(diào)用對(duì)象的方法

ObjectReference.MethodName();

源文件聲明規(guī)則

當(dāng)在一個(gè)源文件中定義多個(gè)類(lèi),并且還有import語(yǔ)句和package語(yǔ)句時(shí)色迂,要特別注意這些規(guī)則香缺。

1.一個(gè)源文件中只能一個(gè)public類(lèi)(可以存在一個(gè)public類(lèi))

2.一個(gè)源文件中可以有多個(gè)非public類(lèi)(存在多個(gè)非public類(lèi))

3.源文件的名稱(chēng)應(yīng)該和public類(lèi)的類(lèi)名保持一致。

4.如果一個(gè)類(lèi)定義在某個(gè)包中歇僧,那么package語(yǔ)句應(yīng)該在源文件的首行图张。(所需的類(lèi)不在該類(lèi)中,則需要進(jìn)行“導(dǎo)包”操作)

5.如果源文件包含import語(yǔ)句诈悍,那么應(yīng)該放在package語(yǔ)句和類(lèi)定義之間祸轮。如果沒(méi)有package語(yǔ)句,那么import語(yǔ)句應(yīng)該在源文件中最前面侥钳。(導(dǎo)入所需的文件)

6.import語(yǔ)句和package語(yǔ)句對(duì)源文件中定義的所有類(lèi)都有效适袜。在同一源文件中,不能給不同的類(lèi)不同的包聲明舷夺。

java包

包主要用來(lái)對(duì)類(lèi)和接口進(jìn)行分類(lèi)苦酱。當(dāng)開(kāi)發(fā)java程序時(shí),可能編寫(xiě)成百上千的類(lèi)给猾,因此很有必要對(duì)類(lèi)和接口進(jìn)行分類(lèi)疫萤。

import語(yǔ)句

在java中,如果給出一個(gè)完整的限定名敢伸,包括包名给僵,類(lèi)名,那么java編譯器就可以很容易地定位到源代碼或者是某個(gè)類(lèi)详拙。

import語(yǔ)句就是用來(lái)提供一個(gè)合理的路徑帝际,使得編譯器可以找到某個(gè)類(lèi)。


java基本數(shù)據(jù)類(lèi)型


java基本數(shù)據(jù)類(lèi)型

變量就是申請(qǐng)內(nèi)存來(lái)存儲(chǔ)值饶辙。當(dāng)創(chuàng)建變量的時(shí)候蹲诀,需要在內(nèi)存中申請(qǐng)空間。

內(nèi)存管理系統(tǒng)根據(jù)變量的類(lèi)型為變量分配存儲(chǔ)空間弃揽,分配的空間只能用來(lái)存儲(chǔ)該類(lèi)型的數(shù)據(jù)脯爪。

因此,通過(guò)定義不同類(lèi)型的變量矿微,可以在內(nèi)存中存儲(chǔ)整數(shù)痕慢,小數(shù)或者字符。

java的兩大數(shù)據(jù)類(lèi)型:~內(nèi)置數(shù)據(jù)類(lèi)型涌矢,~引用數(shù)據(jù)類(lèi)型

內(nèi)置數(shù)據(jù)類(lèi)型

java語(yǔ)言提供了八種基本類(lèi)型掖举。種數(shù)字類(lèi)型(四個(gè)整數(shù)型,兩個(gè)浮點(diǎn)型娜庇,一種字符類(lèi)型塔次,還有一種布爾類(lèi)型方篮。

byte ,short ,int ,long ,float,double,char?

實(shí)際上,java還存在另外一種基本數(shù)據(jù)類(lèi)型void励负,它也有對(duì)應(yīng)的包裝類(lèi)java.lang.void,不過(guò)我們無(wú)法直接對(duì)它們進(jìn)行操作藕溅。

引用類(lèi)型

1.引用類(lèi)型變量由類(lèi)的構(gòu)造函數(shù)創(chuàng)建,可以使用他們?cè)L問(wèn)所引用的對(duì)象继榆。這些變量在聲明時(shí)被指定為一個(gè)特定的類(lèi)型巾表。變量一旦聲明后,類(lèi)型就不能被改變了略吨。

2.對(duì)象攒发,數(shù)組都是引用數(shù)據(jù)類(lèi)型

3.所有引用類(lèi)型的默認(rèn)值都是null晋南。

4.一個(gè)引用變量可以用來(lái)引用與任何與之兼容的類(lèi)型惠猿。

常量

常量指不能改變的量。在java中用final標(biāo)志负间,聲明方式與變量類(lèi)似偶妖。

雖然常量名也可以是用小寫(xiě),但為了識(shí)別政溃,通常使用大寫(xiě)字母表示常量趾访。

字符串常量和字符常量都可以包含任何Unicode字符。

如:char a = '\u0001'; String a = "\u0001";

java支持一些特殊的轉(zhuǎn)義字符:

\n :換行

\r:回車(chē)

\f:換頁(yè)符

\b:退格符

\s:空格符

\t: 制表符

java變量類(lèi)型




java變量類(lèi)型

在java語(yǔ)言中董虱,所有的變量在使用前必須聲明扼鞋。

java語(yǔ)言支持的變量類(lèi)型有:

1.局部變量

2.實(shí)例變量

3.類(lèi)變量

java局部變量

1.局部變量聲明在方法,構(gòu)造方法或者語(yǔ)句塊中愤诱。

2.局部變量在方法云头,構(gòu)造方法,或者語(yǔ)句塊被執(zhí)行的時(shí)候創(chuàng)建淫半,當(dāng)它們執(zhí)行完畢后溃槐,變量將會(huì)被銷(xiāo)毀。

3.訪問(wèn)修飾符不能用于局部變量科吭。

4.局部變量只在聲明它的方法昏滴,構(gòu)造方法或者語(yǔ)句塊中可見(jiàn)。

5.局部變量是在棧上分配的对人。

6.局部變量沒(méi)有默認(rèn)值谣殊,所以局部變量被聲明后,必須經(jīng)過(guò)初始化牺弄,才可以使用姻几。

實(shí)例變量

1.實(shí)例變量聲明在一個(gè)類(lèi)中,但在方法,構(gòu)造方法和語(yǔ)句塊之外鲜棠;

2.當(dāng)一個(gè)對(duì)象被實(shí)例化之后肌厨,每個(gè)實(shí)例變量的值就跟著確定培慌;

3.實(shí)例變量在對(duì)象創(chuàng)建的時(shí)候創(chuàng)建豁陆,在對(duì)象被銷(xiāo)毀的時(shí)候銷(xiāo)毀;

4.實(shí)例變量的值至少被一個(gè)方法吵护,構(gòu)造方法或者語(yǔ)句塊引用盒音,使得外部能夠通過(guò)這些方式獲取實(shí)例變量信息。

5.實(shí)例變量可以聲明在使用前或者使用后馅而;

6祥诽,訪問(wèn)修飾符可以修飾實(shí)例變量;

7.實(shí)例變量對(duì)于類(lèi)中的方法瓮恭,構(gòu)造方法或者語(yǔ)句塊是可見(jiàn)的雄坪。一般情況下應(yīng)該吧實(shí)例變量設(shè)為私有。通過(guò)使用訪問(wèn)修飾符可以使實(shí)例變量對(duì)子類(lèi)可見(jiàn)屯蹦。

8.實(shí)例變量具有默認(rèn)性维哈。數(shù)值型變量默認(rèn)值是0.布爾型變量的默認(rèn)值是false,引用類(lèi)型變量的默認(rèn)值是null登澜,變量的值可以在聲明時(shí)指定阔挠,也可以在構(gòu)造方法中指定;

9.實(shí)例變量可以直接通過(guò)變量名訪問(wèn)脑蠕。但在靜態(tài)方法以及其他類(lèi)中购撼,就應(yīng)該使用完全限定名:ObjectReference.VariableName.

類(lèi)變量(靜態(tài)變量)

1.類(lèi)變量也稱(chēng)為靜態(tài)變量,在類(lèi)中以static關(guān)鍵字聲明谴仙,在必須在方法迂求,構(gòu)造方法和語(yǔ)句塊之外。

2.無(wú)論一個(gè)類(lèi)創(chuàng)建了多少個(gè)對(duì)象晃跺,類(lèi)只擁有類(lèi)變量的一份拷貝锁摔。

3.靜態(tài)常量除了被聲明為常量外很少使用。常量是指聲明為public final static 或 private final static 類(lèi)型的變量哼审。常量初始化不可改變谐腰。

4.靜態(tài)變量存儲(chǔ)在靜態(tài)存儲(chǔ)區(qū)。

5.靜態(tài)變量在程序開(kāi)始時(shí)創(chuàng)建涩盾,在程序結(jié)束時(shí)銷(xiāo)毀十气。

6.與實(shí)例變量具有相似性的可見(jiàn)性。但為了對(duì)類(lèi)的使用者可見(jiàn)春霍,大多數(shù)靜態(tài)變量聲明為public類(lèi)型砸西。

7.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子芹枷,更是在濱河造成了極大的恐慌衅疙,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鸳慈,死亡現(xiàn)場(chǎng)離奇詭異饱溢,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)走芋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)绩郎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人翁逞,你說(shuō)我怎么就攤上這事肋杖。” “怎么了挖函?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵状植,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我怨喘,道長(zhǎng)津畸,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任哲思,我火速辦了婚禮洼畅,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘棚赔。我一直安慰自己帝簇,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布靠益。 她就那樣靜靜地躺著丧肴,像睡著了一般。 火紅的嫁衣襯著肌膚如雪胧后。 梳的紋絲不亂的頭發(fā)上芋浮,一...
    開(kāi)封第一講書(shū)人閱讀 51,573評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音壳快,去河邊找鬼纸巷。 笑死,一個(gè)胖子當(dāng)著我的面吹牛眶痰,可吹牛的內(nèi)容都是我干的瘤旨。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼竖伯,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼存哲!你這毒婦竟也來(lái)了因宇?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤祟偷,失蹤者是張志新(化名)和其女友劉穎察滑,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體修肠,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡贺辰,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了氛赐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片魂爪。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡先舷,死狀恐怖艰管,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蒋川,我是刑警寧澤牲芋,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站捺球,受9級(jí)特大地震影響缸浦,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜氮兵,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一裂逐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧泣栈,春花似錦卜高、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至疼进,卻和暖如春薪缆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背伞广。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工拣帽, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人嚼锄。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓减拭,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親灾票。 傳聞我的和親對(duì)象是個(gè)殘疾皇子峡谊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

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

  • 這是16年5月份編輯的一份比較雜亂適合自己觀看的學(xué)習(xí)記錄文檔,今天18年5月份再次想寫(xiě)文章,發(fā)現(xiàn)簡(jiǎn)書(shū)還為我保存起的...
    Jenaral閱讀 2,756評(píng)論 2 9
  • 整理來(lái)自互聯(lián)網(wǎng) 1既们,JDK:Java Development Kit濒析,java的開(kāi)發(fā)和運(yùn)行環(huán)境,java的開(kāi)發(fā)工具...
    Ncompass閱讀 1,538評(píng)論 0 6
  • 一:java概述: 1啥纸,JDK:Java Development Kit号杏,java的開(kāi)發(fā)和運(yùn)行環(huán)境,java的開(kāi)發(fā)...
    慕容小偉閱讀 1,789評(píng)論 0 10
  • 面向?qū)ο笾饕槍?duì)面向過(guò)程斯棒。 面向過(guò)程的基本單元是函數(shù)盾致。 什么是對(duì)象:EVERYTHING IS OBJECT(萬(wàn)物...
    sinpi閱讀 1,055評(píng)論 0 4
  • 師北宸一塊聽(tīng)聽(tīng)寫(xiě)作課后感 這兩周來(lái)已經(jīng)習(xí)慣一天聽(tīng)課,一天寫(xiě)作業(yè)的模式荣暮,還沒(méi)有做好心理準(zhǔn)備庭惜,就要和師北宸老師的寫(xiě)作課...
    青蔌閱讀 232評(píng)論 0 0