




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上第一階段視頻學(xué)習(xí)內(nèi)容進(jìn)入cmd 程序運(yùn)行進(jìn)入F盤(pán):f:編譯文件目錄,進(jìn)入java目錄:cd空格java目錄(存放代碼的目錄)編譯:javac空格文件名.java運(yùn)行:java空格類(lèi)名包:編譯:java空格-d空格.空格文件名.java 運(yùn)行:java空格包名.類(lèi)名一、java起源背景 1、Java起源Sun公司(Sun公司現(xiàn)在被oracle公司收購(gòu)了)1995年5月23日J(rèn)ava語(yǔ)言問(wèn)世。Java語(yǔ)言是在Green項(xiàng)目團(tuán)隊(duì)里James gosling的帶領(lǐng)下創(chuàng)建的,一開(kāi)始java語(yǔ)言的命名為Oak語(yǔ)言。Java是仿照C+來(lái)編寫(xiě)的,也是用C+開(kāi)發(fā)的。二、Java語(yǔ)言的特
2、性1. 跨平臺(tái)性2. 簡(jiǎn)單性(這個(gè)簡(jiǎn)單性是C+對(duì)比)3. 純面向?qū)ο?. 開(kāi)放性-三、語(yǔ)言的運(yùn)行機(jī)制源文件可執(zhí)行文件 運(yùn)行可執(zhí)行文件機(jī)器指令。Java源文件編譯.class字節(jié)碼文件解釋執(zhí)行真正的解釋指令。Java源文件編譯.class字節(jié)碼文件在JVM(java虛擬機(jī))中解釋執(zhí)行真正的解釋指令。(JVM虛擬機(jī)屏蔽不同操作系統(tǒng)差異)編譯的方式運(yùn)行效率高解釋的方式可以夸平臺(tái)先編譯 后解釋 (java).Java 源文件 =>.class 字節(jié)碼文件 =>解釋運(yùn)行.class文件:平臺(tái)中立Java是先編譯后解釋。(所以運(yùn)行效率高,且可以夸平臺(tái))JVM+解釋器=JAE(java運(yùn)行環(huán)境)
3、JDK(java開(kāi)發(fā)工具包)=JRE+編譯器+工具+類(lèi)庫(kù)。四、Java環(huán)境變量JAVA_HOME:JDK安裝目錄【給其他軟件使用】【三個(gè)環(huán)境的作用】PATH:后追加JAVA_HOMEbin安裝目錄(加安裝目錄前加個(gè)分號(hào))【你要運(yùn)行exe軟件,它去找PATH下的根目錄,想在任何情況下運(yùn)行java,就需要把bin根目錄放在PATH下】CLASSPATH:.【指示編譯器和JVM,到哪兒去找所需要的類(lèi)】要使配置后的環(huán)境變量適用,必須重新打開(kāi)命令行(cmd里重新開(kāi)一行輸入命令:你的安裝目錄名字)之后輸入javac 名字.java。在運(yùn)行中學(xué)會(huì)看錯(cuò)誤:名字.java:4:需要;在語(yǔ)句第4行前有錯(cuò)誤,需要分
4、號(hào)錯(cuò)誤前的數(shù)字表示有幾處錯(cuò)誤。查看目錄下的文件用dir命令。.java編譯成功會(huì)生成一個(gè).class文件,而這個(gè)文件的名為java里編寫(xiě)時(shí)取的名字.class文件如class abc public static void main(String args) System.out.println("liqin"); 產(chǎn)生一個(gè)abc.class文件(在命令符輸入javac c.java(c為你編寫(xiě)程序文件取的名字)java 有1個(gè)空格后跟abc(abc為類(lèi)名) 會(huì)顯示liqin)編譯 javac有1個(gè)空格后跟源文件名 一個(gè)類(lèi)編譯之后,會(huì)對(duì)應(yīng)一個(gè).class文件運(yùn)行:java有1
5、個(gè)空格后跟類(lèi)名。一個(gè)源文件里可以有很多的類(lèi)。類(lèi)前可以加public,就稱(chēng)公開(kāi)類(lèi)(包外用,誰(shuí)都可以用)。一個(gè)源文件中可以定義多個(gè)類(lèi),一個(gè)源文件中只能定義一個(gè)公開(kāi)類(lèi),而且公開(kāi)類(lèi)的類(lèi)名必須和文件名完全相同。5、 第一個(gè)程序1. 首先我們寫(xiě)出 HelloWorld 程序的代碼。在硬盤(pán)上創(chuàng)建一個(gè)名為 test.java 的文件,并用記 事本打開(kāi)這個(gè)文件,書(shū)寫(xiě)如下內(nèi)容。注意:區(qū)分大小寫(xiě),并注意空格: class HelloWorld public static void main(String args) System.out.println("Hello World"); 2 深入
6、HelloWorld首先,第一行:class HelloWorld,這句話(huà)定義了一個(gè)名字叫做 HelloWorld 的類(lèi)。其中, class 是 Java 語(yǔ)言的關(guān)鍵字,而 HelloWorld 則是定義的類(lèi)的名字。 至于什么是類(lèi),這個(gè)概念對(duì)于初學(xué)者來(lái)說(shuō)比較復(fù)雜,在此不多做介紹。對(duì)于初學(xué)者來(lái)說(shuō), 可以把類(lèi)理解成:代碼的容器。也就是說(shuō),在 Java 中絕大部分代碼都要寫(xiě)在類(lèi)的范圍之內(nèi), 要寫(xiě)代碼就必須先定義一個(gè)類(lèi)。 在定義完了 HelloWorld 之后,后面有一對(duì)花括號(hào),花括號(hào)中的內(nèi)容就表示是這個(gè)類(lèi)中 的內(nèi)容。 在這個(gè)花括號(hào)里,下面的這行: public static void main(St
7、ring args) 這一行定義了一個(gè)主方法(也叫主函數(shù))。在 Java 中,主方法的定義比較長(zhǎng),但是非常 有用,也許你現(xiàn)在還無(wú)法理解這些內(nèi)容,隨著學(xué)習(xí)的深入,你會(huì)理解這里面的每一個(gè)單詞。 但是現(xiàn)在,照著寫(xiě)并且記住主方法的寫(xiě)法就行了。 那么主方法有什么用呢?我們把主方法稱(chēng)之為:程序執(zhí)行的入口。也就是說(shuō),Java 程序在執(zhí)行的時(shí)候,會(huì)執(zhí)行類(lèi)中的主方法,當(dāng)主方法執(zhí)行完畢之后,程序也就退出了。-6、 包 本節(jié)內(nèi)容介紹包的使用,主要包括 package 語(yǔ)句和 import 語(yǔ)句。1.1 package語(yǔ)句。 隨著代碼的大量增加,程序員寫(xiě)的.java 源文件以及編譯產(chǎn)生的.class 字節(jié)碼文件會(huì)大量
8、的增加。如果任由這種情況發(fā)生的話(huà),無(wú)論是查詢(xún)還是管理都會(huì)非常的不方便。為了解決這 方面的問(wèn)題,Java 提供了“包”來(lái)幫助我們組織和管理類(lèi)。使用 package 語(yǔ)句可以用來(lái)將一個(gè)特定的類(lèi)放入包中。要注意的是,如果要使用 package 語(yǔ)句,則這個(gè)語(yǔ)句必須作為.java 文件的第一個(gè)語(yǔ)句,并寫(xiě)在任何類(lèi)的外面。例如,對(duì)我們 之前寫(xiě)的 HelloWorld 類(lèi)放入 book.corejava.chp2 包,則代碼如下: package book.corejava.chp2; public class HelloWorld public static void main(String args)
9、System.out.println(“Hello World”); 上面的這段代碼,就把 HelloWorld 類(lèi)放在了 book.corejava.chp2 包下。要注意的是,在 加包之后,使用 HelloWorld 類(lèi)時(shí)必須加上包名作為前綴,因此完整的寫(xiě)法應(yīng)當(dāng)是: book.corejava.chp2.HelloWorld。這種在類(lèi)名前面加上包名的寫(xiě)法稱(chēng)為類(lèi)的全限定名。使用包的主要目的是為了避免類(lèi)名沖突。包結(jié)構(gòu)必須和硬盤(pán)上的文件夾結(jié)構(gòu)一致。2.2 import 語(yǔ)句 前面的 import 語(yǔ)句,就好比是一個(gè)聲明。這個(gè)聲明表明,在程序接下來(lái)的代碼中,如果 遇到 HelloWorld 類(lèi),則
10、指的都是之前引入的 book.corejava.chp2.HelloWorld 類(lèi)。這樣在后面 我們定義 hello 這個(gè)變量的時(shí)候,就省略了冗長(zhǎng)的包名。此外,一個(gè).java 文件中可以有多個(gè) import 語(yǔ)句,用于導(dǎo)入多個(gè)類(lèi)。 如果想要一次導(dǎo)入某個(gè)包下的所有類(lèi),則可以使用*通配符。例如,下面這個(gè)語(yǔ)句 import java.util.*; 表示導(dǎo)入 java.util 包內(nèi)的所有類(lèi)。也就是說(shuō),當(dāng)我們用到這個(gè)包里面任何一個(gè)類(lèi)的時(shí)候, 都可以省略包名。特別要提醒的是,上述語(yǔ)句并不能導(dǎo)入 util 包的子包,也就是說(shuō), java.util.jar、java.util.logging 等包下的類(lèi)并
11、未導(dǎo)入。由于 import java.util.*能夠?qū)?java.util.ArrayList 和 java.util.HashSet 類(lèi),但不能導(dǎo)入 java.util 的子包中的類(lèi),因此 java.util.logging.Logger 類(lèi)沒(méi)有導(dǎo)入,編譯器找不到這個(gè)類(lèi),因 此編譯出錯(cuò)。 import 語(yǔ)句表示導(dǎo)入特定的類(lèi)。在使用 import 語(yǔ)句導(dǎo)入一個(gè)類(lèi)之后,使用時(shí)就能簡(jiǎn)單的 使用類(lèi)名。 另外,只能用*導(dǎo)入一個(gè)包,而不能使用 java.*或 java.*.*等語(yǔ)法,試圖導(dǎo)入所有以 java 為前綴的包。 最后,java.lang 包為標(biāo)準(zhǔn) Java 庫(kù)中的最常用的包,這個(gè)包中的類(lèi)會(huì)
12、在所有 java 程序中自 動(dòng)被導(dǎo)入。也可以理解為,在所有.java 文件中,import java.lang.*;這個(gè)語(yǔ)句都不用寫(xiě),編譯 器會(huì)自動(dòng)導(dǎo)入這個(gè)包下的類(lèi)。類(lèi):一個(gè)網(wǎng)站里包含很多類(lèi),類(lèi).class文件Java p1.HelloJVM會(huì)根據(jù)Classpath(.)在當(dāng)前目錄下,找p1子目錄,并在這個(gè)子目錄中找Hello.class。運(yùn)行:java 類(lèi)名一個(gè)源文件中可以定義多個(gè)類(lèi)一個(gè)源文件中只能定義一個(gè)公開(kāi)類(lèi),公開(kāi)類(lèi)的類(lèi)名必須和文件名相同CLASSPATH:指示編譯器和JVM,到哪去找所需要的類(lèi)。-java p1.HelloJVM會(huì)根據(jù)ClassPath,在當(dāng)前目錄下,找p1子目錄,并在
13、這個(gè)子目錄中找Hello.classjavac -d 編譯時(shí),-d表示生成的.class文件自動(dòng)的按照包結(jié)構(gòu)去存放。 -d空格.空格Hello.javaimport 引入包 避免重復(fù)的寫(xiě)包名import java.lang.*; 系統(tǒng)默認(rèn)添加的*為通配符package 0-1(可以使用多個(gè))import 0-n(可以使用多個(gè))class 1-n (可以使用多個(gè))公開(kāi)類(lèi) 0-1(只能用一個(gè)或不用)-cmd命令:cls :清屏cd JAVA :打開(kāi)JAVA文件夾cd. :返回上一級(jí)目錄cd :返回主目錄dir :查看當(dāng)前文件夾的所有文件DEL D:aaaaa*.* :刪除aaaaa下所有文件(而非
14、文件夾)rd /s D:aaaaa :刪除aaaaa下的所有空文件夾- 注釋?zhuān)耗軌驑O大的增強(qiáng)代碼的可讀性。注釋指的是一些描述代碼的文字。Java 中的注釋從語(yǔ)法上來(lái)說(shuō)主要有三種:?jiǎn)涡凶⑨?、多行注釋?javadoc 注釋。1./ 單行注釋 /注釋開(kāi)始,換行結(jié)束2./* */ 多行注釋/*注釋開(kāi)始, */注釋結(jié)束,多行注釋里允許單行注釋?zhuān)遣辉试S多行注釋嵌套多行注釋。3./* */ 多行注釋 /* 注釋開(kāi)始,*/注釋結(jié)束。 配合JavaDoc工具使用的,JavaDoc工具可以將你代碼里的所有注釋單獨(dú)抽取出來(lái)形成一個(gè)文檔交給用戶(hù)。只有這樣/* */形式的注釋可以被JavaDoc工具抽取出來(lái)。 j
15、avadoc 注釋?zhuān)?Java 中一種比較特殊的注釋。這種注釋用來(lái)生成 api 文檔。 程序員在對(duì)外發(fā)布 Java 代碼的時(shí)候,還應(yīng)當(dāng)對(duì)外公布這些代碼的用法。這樣,才能讓 其他的程序員能夠更加方便的利用已有的代碼。在 Java 中,我們往往使用 api 文檔,來(lái)向其 他程序員介紹代碼的組成和用法。抽取方法:javadoc空格-d空格doc空格Hello.java 注意:doc是生成的文件夾 查看index.html3 編碼規(guī)范1、 良好的注釋 2、 良好的標(biāo)識(shí)符命名 3、 良好的縮進(jìn)標(biāo)識(shí)符,指的是程序員為程序組件起的名字。起名字是一門(mén)藝術(shù),這一點(diǎn)對(duì)標(biāo)識(shí)符也一 樣。而所有的 Java 程序組件
16、基本分為 5 大類(lèi):包、類(lèi)、變量、函數(shù)、常量。首先我們介紹一下 Java 標(biāo)識(shí)符的 命名規(guī)則。一、Java 標(biāo)識(shí)符由字母、數(shù)字、下劃線(xiàn)(_)、貨幣符號(hào)($)組成,其中數(shù)字不能開(kāi)頭。 要注意的是,所謂“字母”,從技術(shù)上說(shuō),是一個(gè) unicode 字符,包括中文字符。換句 話(huà)說(shuō),Java 標(biāo)識(shí)符能夠使用中文。二、Java 標(biāo)識(shí)符區(qū)分大小寫(xiě)。 也就是說(shuō),helloWorld,HelloWorld,HELLOWORLD 這三個(gè)標(biāo)識(shí)符,對(duì)于 Java 來(lái)說(shuō)是 完全不同的三個(gè)名字。三、不能與 Java 關(guān)鍵字重名。四、沒(méi)有長(zhǎng)度限制習(xí)慣:1、 望文生義 這指的是說(shuō),標(biāo)識(shí)符的名字應(yīng)當(dāng)起的有意義,最好能通過(guò)名字
17、,讓人一眼就能看出標(biāo)識(shí) 符的作用。例如,變量 totalScore 肯定是用來(lái)統(tǒng)計(jì)總分,函數(shù) addStudent 肯定是用來(lái)增加一 個(gè)學(xué)生。這樣的名字是比較好的名字。它們很容易讓人理解這個(gè)標(biāo)識(shí)符的意義,從而提高程 序的可讀性。 二、大小寫(xiě)規(guī)范 相比上一條規(guī)范,這一條顯得非常教條。Java 語(yǔ)言中,對(duì)于不同的程序組件,有著不同 的大小寫(xiě)規(guī)范。羅列一下:包名:全小寫(xiě)。例如 book.corejava 類(lèi)名:每個(gè)單詞首字母大寫(xiě)。例如 HelloWorld 變量/函數(shù)名:首單詞小寫(xiě),后面每個(gè)單詞首字母大寫(xiě)。例如 helloWorld 常量名:全大寫(xiě),單詞之間用下劃線(xiàn)分隔。例如 HELLO_WORLD
18、 縮進(jìn)指的是在寫(xiě)代碼的時(shí)候,在某些行的行首,會(huì)留出一些空白字符。良好、規(guī)范的縮進(jìn)能夠極大的提高代碼的清晰程度,讓可讀性大大增加。數(shù)據(jù)類(lèi)型 變量 此外,在 Java 中,變量是強(qiáng)類(lèi)型的。所謂強(qiáng)類(lèi)型,指的是每一個(gè)變量都有自身的類(lèi)型。 不同的變量類(lèi)型,大小不同,所能存放的數(shù)據(jù)也不同。下面我們就來(lái)介紹一下 Java 語(yǔ)言中的變量類(lèi)型。在 Java 中,所有變量類(lèi)型分為兩類(lèi), 一類(lèi)為基本類(lèi)型,一類(lèi)為對(duì)象類(lèi)型。本章主要介紹的是基本類(lèi)型。 基本類(lèi)型,英語(yǔ)叫 primitive type,也有人翻譯成“原始類(lèi)型”、“簡(jiǎn)單類(lèi)型”等等。這類(lèi) 變量屬于編程語(yǔ)言中比較基礎(chǔ)的組成部分,因此也被稱(chēng)之為“基本類(lèi)型”。 基本
19、類(lèi)型總共分為 8 種,分別為 byte、short、int、long、float、double、char、boolean。有四種類(lèi)型都用來(lái)表示整數(shù),他們是 byte、short、int、long,他們之間的區(qū)別在于他們 所占的內(nèi)存空間和表示范圍。下表為這四種基本類(lèi)型的參數(shù)。類(lèi)型名稱(chēng) 所占空間 表示范圍byte 1 個(gè)字節(jié) -128 127 Short 2 個(gè)字節(jié) -32768 32767 int 4 個(gè)字節(jié) - long 8 個(gè)字節(jié) - 可以把這四種基本類(lèi)型想象成四個(gè)大小不同的飯盒,雖然空間不同,但是所裝的數(shù)據(jù)基 本上是一類(lèi)的。要注意的是,表示范圍小的類(lèi)型可以直接賦值給表示范圍大的類(lèi)型,而反之
20、不行。字面值指的是某個(gè)類(lèi)型的合法取值,或者說(shuō),可以為該類(lèi)型的變量賦值的數(shù)據(jù)。例如, “int a = 5;”,在這個(gè)代碼中,a 就是變量,5 就是字面值。4.2.2 浮點(diǎn)數(shù)類(lèi)型 在計(jì)算機(jī)術(shù)語(yǔ)中,小數(shù)被稱(chēng)為浮點(diǎn)數(shù)。在 Java 語(yǔ)言中,浮點(diǎn)數(shù)有兩種,分別為 float 和 double。兩者相關(guān)參數(shù)如下: 類(lèi)型名稱(chēng) 所占空間 表示范圍 float 4 個(gè)字節(jié) 3.×1038 1.4×10-45 double 8 個(gè)字節(jié) 1.23157×10308 4.9×10-324 浮點(diǎn)數(shù)類(lèi)型的符號(hào)可以是正的,也可以是負(fù)的。強(qiáng)類(lèi)型 :變量類(lèi)型必須和數(shù)據(jù)類(lèi)型一致。定義變量
21、: 變量類(lèi)型 變量名;數(shù)據(jù)類(lèi)型對(duì)象類(lèi)型:有無(wú)窮無(wú)限種,每一個(gè)類(lèi)都可以成為對(duì)象類(lèi)型(除去8種簡(jiǎn)單類(lèi)型之外都是對(duì)象類(lèi)型)。簡(jiǎn)單類(lèi)型(基本類(lèi)型,原始類(lèi)型)8種byte short int long foalt double char boolean1、 整數(shù)類(lèi)型4種:1. byte 1B(字節(jié))=8位 -128127 (自左至右左高右低)可以表示28=256個(gè)不同的數(shù)據(jù)2. short 2B(字節(jié))=16位 -32768327673. int 4B(字節(jié))=32位 -4. long 8B(字節(jié))=64位 -263 263-1 字面值byte=200是錯(cuò)誤的,short=200是正確的long P=1
22、4L(大L和小l都可以,就是把14賦值給P)。5.6、浮點(diǎn)數(shù)(小數(shù)):float 單精度 4B float f=1.4f(系統(tǒng)默認(rèn)小數(shù)為double類(lèi)型,因此要賦值給float型時(shí)后邊加小f和大F都可以但是后邊必須加f);double 雙精度 8B double d=1.4d,系統(tǒng)默認(rèn)小數(shù)為double類(lèi)型后邊加不加d都可以,大D和小d一樣; double s=1.4e10 表示 1.4*10107、字符型char 2B字節(jié) unicode編碼方式 'A' 65 'u0041' (十六進(jìn)制) char可以參與整型運(yùn)算。A=65a=97轉(zhuǎn)義字符 't
23、9;表示水平跳格 'n'表示換行''' 單引號(hào) '"'雙引號(hào) ''反斜杠String 字符串 字面值 "Hello World"只能參與加法運(yùn)算 ,表示字符串連接。單引號(hào)引的是字符A,雙引號(hào)引的是字符串“abcd”。字符相加得到是數(shù) char A=65,char B=66,A+B=131,String 字符串相加得到的是字符串,“A”+“B”=“AB”。"ab"+"cd"=abcd "ab"+10="ab10"8、
24、boolean 布爾類(lèi)型 4字節(jié) 字面值 true 真 false假,判斷用,布爾類(lèi)型在java中不能參與運(yùn)算。(c語(yǔ)言里能參與運(yùn)算,true相當(dāng)于1,false相當(dāng)于0)-short s = 280;byte b =(byte)s; 強(qiáng)制轉(zhuǎn)換 將剩下的舍去 280 24 int i; short s;自動(dòng)類(lèi)型轉(zhuǎn)換 i = s;強(qiáng)制類(lèi)型轉(zhuǎn)換 s = (short)i;a+b 兩個(gè)簡(jiǎn)單類(lèi)型的數(shù)參與運(yùn)算就會(huì)被自動(dòng)類(lèi)型提升。如果a和b里邊有一個(gè)是double的 => 結(jié)果就是double如果a和b里邊有一個(gè)是float的 =>結(jié)果就是 float如果a和b里邊有l(wèi)ong的 =>結(jié)果
25、就是 long上述結(jié)果都不滿(mǎn)足時(shí),=> 默認(rèn)結(jié)果是int表達(dá)式 :變量和字面值用某個(gè)運(yùn)算符連接的式子,一個(gè)表達(dá)式必須有固定值。4、運(yùn)算符+ - * / %(取余也叫模)= 賦值 ,+= a+=3不會(huì)進(jìn)行byte變化(a=a+3值會(huì)進(jìn)行提升變化) -= a-=3 (a=a-3) *= /=.+ - a+等同于a+=1相當(dāng)于a=a+1 如果a=4,a+為4,先取值在加1,+a為5,先加1在取值。(a的值都是5)= 在布爾運(yùn)算符 a=b 判斷ab值是否一樣,判斷真假,相等為真取前邊,不等為假取后邊。= 等于 > 大于 < 小于 >=大于等于 <=小于等于 != &
26、;&與(同為真結(jié)果為真,兩邊有一個(gè)為假,結(jié)果就為假) |或(有一真結(jié)果為真 )!非(取反)位運(yùn)算符&按位求與(兩個(gè)1結(jié)果為1) |按位求或(兩個(gè)里一個(gè)有1就是1) 異或(兩個(gè)相同為0,不同為1) 按位取反 - 1011 1011 1011 1011& 1001 | 1001 1001 0100 1011 1011 0010 -& 非短路 &&短路 單豎線(xiàn) 雙豎線(xiàn)邏輯求或有符號(hào)移位>> a>>1右移1位(相當(dāng)于整數(shù)除以2,高位需要補(bǔ)1位,正數(shù)移后是正,負(fù)數(shù)移后是負(fù),符號(hào)不會(huì)丟) << a<<1左移1位
27、(相當(dāng)于整數(shù)乘以2,)>> 數(shù)學(xué)移位 移完后,高位補(bǔ)以前的數(shù) 負(fù)數(shù)還是負(fù)數(shù)無(wú)符號(hào)移位 >>> <<< 移完后高位直接補(bǔ)0,正數(shù)移后是正,負(fù)數(shù)移后是正。>>> 移完后高位直接補(bǔ)0 a=10110 a>>1 01011 (前邊補(bǔ)0) a<<1 (末尾補(bǔ)0)結(jié)論:左移一位 相當(dāng)于這個(gè)整數(shù)乘以2 右移一位 相當(dāng)于這個(gè)整數(shù)除以2?: (a>b)?3:2 a>b時(shí)取3 a>b為假時(shí),取2-局部變量 :在函數(shù)內(nèi)部定義的變量1.先賦值,后使用2.作用范圍:從定義開(kāi)始,到定義它的代碼塊結(jié)束3.在重合范圍內(nèi)
28、,不允許兩個(gè)局部變量發(fā)生命名沖突=流程控制順序執(zhí)行流程條件分支流程(條件滿(mǎn)足執(zhí)行,不滿(mǎn)足不執(zhí)行)if()if() elseif() else if()elseswitch-case :(switch(表達(dá)式:只允許整型表達(dá)式。例如switch(i)i的類(lèi)型只允許byte short int char)case后只能跟一個(gè)數(shù))break;跳出循環(huán)語(yǔ)句。子句,default(匹配所有case語(yǔ)句不成功后匹配default語(yǔ)句)習(xí)慣把default放在所有case之后。swicth(只允許整型表達(dá)式) byte short int char-循環(huán)流程while(布爾表達(dá)式) 0-N次執(zhí)行do whi
29、le(條件); 1-N次執(zhí)行(至少執(zhí)行一次)。適合用在不確定循環(huán)for 0-N次執(zhí)行(定義變量賦值語(yǔ)句;條件語(yǔ)句(布爾表達(dá)式)(條件不寫(xiě),默認(rèn)為真,一直循環(huán));語(yǔ)句(對(duì)循環(huán)的自加或減)循環(huán)體適合用在 確定循環(huán) 事先知道循環(huán)幾次。循環(huán)圖下break; 跳出循環(huán)continue; 跳出本次循環(huán)(繼續(xù)下一次循環(huán))雙重循環(huán) outer inner 是給for循環(huán)起名(循環(huán)的標(biāo)號(hào))package chp2;public class jisuan public static void main(String args)outer:for(int i = 1;i<5;i+)inner:for(int
30、j = 1;j<4;j+)if(i=3)break outer;(直接跳出多層循環(huán)就給循環(huán)前取個(gè)名字,然后break outer,就跳出了整個(gè)循環(huán),break inner是跳出內(nèi)循環(huán))System.out.println("i="+i+" "+"j="+j+" ");System.out.println();有規(guī)律才能用循環(huán)。=函數(shù) :函數(shù)的三要素:返回值,函數(shù)名,參數(shù)表 定義的位置:函數(shù)必須在類(lèi)中定義,必須在其中任何函數(shù)的外部。 一個(gè)類(lèi)中,多個(gè)函數(shù)的順序是無(wú)關(guān)緊要的。函數(shù)的聲明:public static
31、返回值類(lèi)型 函數(shù)名(標(biāo)識(shí)符)(參數(shù)表) 形式參數(shù)(形參)(定義形參,int a,int b只能這么定義,int a,b是錯(cuò)誤的):相當(dāng)于函數(shù)內(nèi)部有效的局部變量。函數(shù)的實(shí)現(xiàn): 必須和聲明一致(主要指返回值類(lèi)型)調(diào)用函數(shù):函數(shù)名(實(shí)際參數(shù));實(shí)參會(huì)一次給形參賦值調(diào)用函數(shù),程序流程會(huì)進(jìn)入函數(shù),函數(shù)返回,程序流程會(huì)返回到函數(shù)調(diào)用點(diǎn)處理返回值math.sqrt(y):給y開(kāi)根號(hào)。函數(shù)的作用1.避免冗余代碼2.提高程序的可維護(hù)性3.提高程序的重復(fù)使用性4.提高程序的靈活性函數(shù)的嵌套和函數(shù)的遞歸嵌套:調(diào)用別人的函數(shù)遞歸:一個(gè)函數(shù)自己調(diào)用自己(遞歸可以寫(xiě)的程序可以用循環(huán)來(lái)寫(xiě),復(fù)雜的問(wèn)題用遞歸比較實(shí)用)面向過(guò)程
32、的編程思想:從程序執(zhí)行的過(guò)程入手,將完整的過(guò)程細(xì)化成多個(gè)子過(guò)程,再將子過(guò)程細(xì)化,直到完成代碼。非結(jié)構(gòu)化 goto(程序流程控制)、const結(jié)構(gòu)化 函數(shù)自頂向下 逐步求精=數(shù)組 一次性定義多個(gè)同類(lèi)型的變量。數(shù)組空間在內(nèi)存中必定是連續(xù)的。數(shù)組中的一個(gè)變量被稱(chēng)元素,元素有默認(rèn)值數(shù)值類(lèi)型數(shù)組 默認(rèn)值: 0 boolean類(lèi)型數(shù)組 默認(rèn)值: false對(duì)象類(lèi)型數(shù)組 默認(rèn)值: null 數(shù)組地址是十六進(jìn)制的。a. length數(shù)值.length表示數(shù)組長(zhǎng)度System.arraycopy(a,0,b,0,a.length)(源數(shù)組,起始下標(biāo),目標(biāo)數(shù)組,起始下標(biāo), 復(fù)制的數(shù)量)數(shù)組長(zhǎng)度是固定的,如果需要擴(kuò)
33、充,必須創(chuàng)建新數(shù)組,原數(shù)組的元素要復(fù)制到新數(shù)組。/直接調(diào)用排序java.util.Arrays.sort(data);*數(shù)組排序(冒泡排序,執(zhí)行n-1次)相鄰兩個(gè)數(shù)對(duì)比,把大的調(diào)到最后。 (選擇排序,)依次用一個(gè)數(shù)(從第一個(gè)數(shù)開(kāi)始)和后邊的每一個(gè)數(shù)比,比它打兩數(shù)交換,小的往前換。*編程思想:需求->建立思路->目標(biāo)代碼面向過(guò)程的思想:自頂向下 逐步求精面向?qū)ο蟮乃枷耄鹤钤绲恼Z(yǔ)言 Smalltalk對(duì)象:什么都是對(duì)象 一切客觀存在的事物屬性:這個(gè)對(duì)象有什么方法:這個(gè)對(duì)象能做什么對(duì)象的屬性可能又是一個(gè)對(duì)象對(duì)象的方法的使用者又是一個(gè)對(duì)象客觀世界是由對(duì)象組成的1.小對(duì)象組成大對(duì)象2.對(duì)象間
34、彼此方法調(diào)用解決客觀問(wèn)題:1.把解決問(wèn)題所需要的對(duì)象準(zhǔn)備好2.對(duì)象間如何配合 完成需求計(jì)算機(jī)需求 來(lái)源于 客觀世界解決計(jì)算機(jī)問(wèn)題,同樣可以采用面向?qū)ο蟮乃枷胗?jì)算機(jī)中的對(duì)象:JVM中連續(xù)的存儲(chǔ)空間(數(shù)據(jù))代表生活中的對(duì)象 生活中的對(duì)象在計(jì)算機(jī)中的抽象各司其職 對(duì)象應(yīng)該保持簡(jiǎn)單性弱耦合性 對(duì)象和對(duì)象之間的聯(lián)系應(yīng)該盡量弱化可重用性可擴(kuò)展性類(lèi)1.對(duì)象共性的抽象2.客觀對(duì)象在人腦中的主觀反映 類(lèi)是人對(duì)對(duì)象的認(rèn)識(shí)3.類(lèi)是對(duì)象的模版如何編寫(xiě)一個(gè)類(lèi)屬性:實(shí)例變量 static是靜態(tài)的意思1.有默認(rèn)值 數(shù)值類(lèi)型:0 布爾類(lèi)型:false 對(duì)象類(lèi)型:null2.作用范圍:至少是全類(lèi)內(nèi)部3.可以和局部變量發(fā)生沖突,
35、沖突的時(shí)候局部變量?jī)?yōu)先方法:方法的聲明:對(duì)象能做什么 修飾符 返回至類(lèi)型 方法名(參數(shù)表) 拋出的異常方法的實(shí)現(xiàn):對(duì)象怎么做方法的重載:允許定義多個(gè)同名的方法,參數(shù)表不同1.參數(shù)個(gè)數(shù)不同2.參數(shù)類(lèi)型不同3.參數(shù)類(lèi)型排列不同形參名不同不算重載!由編譯器在程序編譯的時(shí)候,根據(jù)實(shí)參的類(lèi)型選擇一個(gè)合適的方法調(diào)用 方法的重載還可以叫做編譯時(shí)多態(tài)向上就近匹配原則(類(lèi)型相近) 避免混淆重載的作用:讓一個(gè)對(duì)象的同類(lèi)方法,由于參數(shù)表的不同造成的差異,對(duì)用戶(hù)屏蔽!構(gòu)造方法1.沒(méi)有返回值類(lèi)型2.方法名必須和類(lèi)名相同3.不允許手工調(diào)用,在對(duì)象構(gòu)造過(guò)程中自動(dòng)調(diào)用1次如果一個(gè)類(lèi)沒(méi)有定義任何構(gòu)造方法,系統(tǒng)會(huì)默認(rèn)添加一個(gè)公開(kāi)
36、無(wú)參的構(gòu)造方法。對(duì)象的創(chuàng)建過(guò)程:1.分配空間 所有的實(shí)例變量被賦予了默認(rèn)值2.初始化屬性 所有的實(shí)例變量被賦予初始值3.調(diào)用構(gòu)造方法 實(shí)例變量常常被第三次賦值構(gòu)造方法經(jīng)常用來(lái)為屬性賦值變量按照類(lèi)型劃分:簡(jiǎn)單變量 :存值對(duì)象變量(引用):存對(duì)象的地址Java中參數(shù)的傳遞規(guī)則:簡(jiǎn)單類(lèi)型的參數(shù) 傳值對(duì)象類(lèi)型的參數(shù) 傳地址 傳引用 實(shí)參和形參指向同一個(gè)對(duì)象=this1.引用 當(dāng)前對(duì)象 當(dāng)實(shí)例變量和局部變量命名沖突的時(shí)候,用this.表示實(shí)例變量2.用在構(gòu)造方法中 this(.)調(diào)用本類(lèi)的其他構(gòu)造方法 必須是構(gòu)造方法中的第一個(gè)語(yǔ)句*封裝:對(duì)象的邊界對(duì)對(duì)象的內(nèi)部起到保護(hù)的作用;數(shù)據(jù)隱藏public 公開(kāi)的
37、 不受邊界約束private 私有的 只能在本類(lèi)內(nèi)部訪問(wèn) 無(wú)法突破邊界屬性私有 提供公開(kāi)的setXXX/getXXX用來(lái)訪問(wèn)屬性方法私有 只給自己調(diào)用 方法公開(kāi):聲明的公開(kāi) 實(shí)現(xiàn)的隱藏 實(shí)現(xiàn)的改變對(duì)架構(gòu)的影響最小繼承父類(lèi)子類(lèi) 一般特殊父類(lèi):子類(lèi)的共性抽象出來(lái)所有子類(lèi)能夠訪問(wèn)的父類(lèi)屬性和方法,即是子類(lèi)從父類(lèi)中繼承到的屬性和方法從嚴(yán)到寬的順序private 私有的 本類(lèi)內(nèi)部使用 無(wú)法繼承default 本類(lèi)內(nèi)部+同包 同包子類(lèi)可以繼承protected 受保護(hù)的 本類(lèi)+同包+不同包的子類(lèi)public 公開(kāi)的 可以繼承構(gòu)造方法不能繼承方法的覆蓋子類(lèi)用特殊的方法實(shí)現(xiàn)替換掉父類(lèi)繼承給它的一般的方法實(shí)現(xiàn)返
38、回值類(lèi)型 方法名 參數(shù)表相同,訪問(wèn)修飾符相同或更寬泛對(duì)象的構(gòu)造過(guò)程1.分配空間 本類(lèi)+父類(lèi) 一并分配2.遞歸的構(gòu)造父類(lèi)對(duì)象 (2-4)3.初始化本類(lèi)屬性4.調(diào)用本類(lèi)的構(gòu)造方法A<-B<-C創(chuàng)建C對(duì)象:(遞歸的構(gòu)造父類(lèi)對(duì)象)分配空間初始化A的屬性調(diào)用A的構(gòu)造方法初始化B屬性調(diào)用B的構(gòu)造方法初始化C的屬性調(diào)用C的構(gòu)造方法super 關(guān)鍵字1.引用:父類(lèi)對(duì)象 訪問(wèn)父類(lèi)被遮蓋的屬性或者調(diào)用父類(lèi)被覆蓋的方法2.用在構(gòu)造方法中 指定調(diào)用父類(lèi)的構(gòu)造方法中 必須是構(gòu)造方法的第一句如果一個(gè)構(gòu)造方法的第一句話(huà),不是this(.),也不是super(.),系統(tǒng)會(huì)默認(rèn)添加 super();super(.)
39、常常用來(lái)把構(gòu)造參數(shù)傳給父類(lèi),去設(shè)置父類(lèi)的屬性Java中的單繼承一個(gè)類(lèi)最多只能有一個(gè)直接父類(lèi)簡(jiǎn)單 類(lèi)之間會(huì)形成簡(jiǎn)單的樹(shù)狀結(jié)構(gòu)子類(lèi)的對(duì)象可以看作是父類(lèi)的對(duì)象1.對(duì)象類(lèi)型不變2.只能對(duì)引用調(diào)用其引用類(lèi)型中聲明的方法3.運(yùn)行時(shí),根據(jù)對(duì)象實(shí)際類(lèi)型找子類(lèi)覆蓋之后的方法子類(lèi)引用賦值給父類(lèi)引用 可以直接賦值父類(lèi)引用賦值給子類(lèi)引用 必須強(qiáng)制類(lèi)型轉(zhuǎn)換 保證編譯通過(guò)運(yùn)行時(shí)可能發(fā)生類(lèi)型轉(zhuǎn)換異常在強(qiáng)制類(lèi)型轉(zhuǎn)換之前,可以用instanceof判斷,避免類(lèi)型轉(zhuǎn)換異常多態(tài)的作用:將不同的子類(lèi)對(duì)象統(tǒng)一看作父類(lèi)對(duì)象,屏蔽了不同子類(lèi)的差異多態(tài)的常見(jiàn)用法1.多態(tài)用在方法參數(shù)上 形參可以是父類(lèi)引用,實(shí)參可以傳子類(lèi)對(duì)象m(A a):可以
40、用A的任何子類(lèi)對(duì)象作為參數(shù)Animal a = new Dog();2.多態(tài)用在方法的返回值上A m():m方法完全可以返回A的某個(gè)子類(lèi)對(duì)象=private 可以修飾 屬性 方法 構(gòu)造方法default 可以修飾 屬性 方法 構(gòu)造方法 類(lèi)protected 可以修飾 屬性 方法 構(gòu)造方法public 可以修飾 屬性 方法 構(gòu)造方法 類(lèi)static 靜態(tài)的1.屬性 類(lèi)變量 全類(lèi)公有 允許直接用類(lèi)名訪問(wèn) 類(lèi)加載:當(dāng)JVM第一次使用一個(gè)類(lèi)時(shí),需要通過(guò)ClassPath找到這個(gè)類(lèi)對(duì)應(yīng)的.class文件,把這個(gè)文件中包含的類(lèi)的信息讀入JVM并保存起來(lái)。一般的說(shuō),一個(gè)類(lèi)只會(huì)加載一次! 類(lèi)變量是在類(lèi)加載的時(shí)
41、候分配空間,并且初始化 類(lèi)加載的時(shí)機(jī): 1)創(chuàng)建類(lèi)的對(duì)象 2)訪問(wèn)類(lèi)的靜態(tài)成員 3)加載子類(lèi)必須先加載父類(lèi) 4)如果僅僅是聲明引用,不會(huì)類(lèi)加載2. 方法靜態(tài)方法 允許直接用類(lèi)名調(diào)用在靜態(tài)方法中,只能訪問(wèn)類(lèi)的靜態(tài)成員靜態(tài)方法可以被子類(lèi)的靜態(tài)方法覆蓋,而且沒(méi)有多態(tài)。3.初始化代碼塊 靜態(tài)初始代碼塊中的代碼,在類(lèi)加載的時(shí)候執(zhí)行一次final1.變量 常量 一旦賦值 不能改變對(duì)于final屬性 系統(tǒng)不會(huì)提供默認(rèn)值如果final實(shí)例變量 可以在初始化屬性或是構(gòu)造方法中賦值如果final類(lèi)變量 可以在初始化屬性或是靜態(tài)初始代碼塊中賦值2.方法 該方法不能被子類(lèi)覆蓋3.類(lèi) 該類(lèi)不能被子類(lèi)繼承abstract
42、 抽象的1.類(lèi) 抽象類(lèi)只能聲明引用,不能創(chuàng)建對(duì)象2.方法 抽象方法 只有聲明 沒(méi)有實(shí)現(xiàn)如果一個(gè)類(lèi)中有抽象方法,這個(gè)類(lèi)就必須是抽象類(lèi)但是抽象類(lèi)中未必有抽象方法抽象類(lèi)中可以有構(gòu)造方法子類(lèi)繼承抽象類(lèi),如果子類(lèi)不希望也成為抽象類(lèi),就必須實(shí)現(xiàn)父類(lèi)中聲明的所有抽象方法利用abstract,可以把方法聲明抽象到父類(lèi)中,而方法實(shí)現(xiàn)留在子類(lèi) 更好的體現(xiàn)“共性放在父類(lèi)”原則修飾符組合:private static final 均不能和abstract聯(lián)用=Chp9接口特殊的抽象類(lèi)1.所有的屬性都是公開(kāi)靜態(tài)常量2.所有的方法都是公開(kāi)抽象方法3.沒(méi)有構(gòu)造方法如果有一個(gè)抽象類(lèi),其所有屬性都是公開(kāi)靜態(tài)常量,所有方法都是公
43、開(kāi)抽象方法,例如 下面代碼所示。 abstract class MyAbstractClass public static final int VALUE1 = 100; /屬性是公開(kāi)靜態(tài)常量 public static final int VALUE2 = 200; /第二個(gè)屬性 public abstract void m1(); /方法是公開(kāi)抽象方法 public abstract void m2(int n); /第二個(gè)方法 上面的 MyAbstractClass 類(lèi),具有的兩個(gè)屬性 VALUE1 和 VALUE2 都是公開(kāi)靜態(tài)常量,具 有的兩個(gè)方法 m1 和 m2 都是公開(kāi)抽象方法。
44、由于 MyAbstractClass 是抽象類(lèi),因此無(wú)法創(chuàng)建對(duì)象,只能夠聲明引用。如果要?jiǎng)?chuàng)建對(duì) 象的話(huà),必須要寫(xiě)一個(gè)類(lèi)繼承 MyAbstractClass 類(lèi),并且實(shí)現(xiàn)這個(gè)類(lèi)中的 m1 和 m2 方法。例 如下面的代碼: class MySubClass extends MyAbstractClass public void m1() public void m2(int n) 要注意的是,方法覆蓋要求“子類(lèi)的訪問(wèn)修飾符相同或更寬”,由于 MyAbstarctClass 類(lèi) 中的 m1 方法和 m2 方法都是 public 的,MySubClass 中的 m1 和 m2 方法的訪問(wèn)修飾符也必
45、須是 public 的。使用關(guān)鍵字 interface 來(lái)定義接口。把 MyAbstractClass 改寫(xiě)成接口,結(jié)果如下:既然接口中所有屬性都是公開(kāi)靜態(tài)常量,則接口中的屬性,可以省略 public static final 關(guān)鍵字;同樣的,由于接口中所有方法都是公開(kāi)抽象方法,因此可以省略 public abstract 關(guān) 鍵字。 interface MyInterface int VALUE1 = 100; int VALUE2 = 200; void m1(); void m2(int n); 注意,interface 替代了 abstract class 這兩個(gè)關(guān)鍵字。interfa
46、ce 關(guān)鍵字和 class 關(guān)鍵字類(lèi)似, 一個(gè)接口編譯后會(huì)生成一個(gè).class 文件;一個(gè).java 文件中可以有多個(gè)接口,但是最多只能有一個(gè)公開(kāi)的接口,且公開(kāi)接口的接口名與文件名相同。要注意的是: 1. 一個(gè)類(lèi)實(shí)現(xiàn)接口,如果不希望這個(gè)類(lèi)作為抽象類(lèi),則應(yīng)該實(shí)現(xiàn)接口中定義的所有方 法。 2. 接口中所有的方法都是公開(kāi)方法。因此,在實(shí)現(xiàn)接口中的方法時(shí),實(shí)現(xiàn)類(lèi)的方法也 必須寫(xiě)成公開(kāi)的!由于類(lèi)中的方法,默認(rèn)訪問(wèn)修飾符是“default”,因此,在實(shí)現(xiàn)接 口中的方法時(shí),修飾符“public”不能省略。從語(yǔ)法上說(shuō),接口很類(lèi)似 特殊的抽象類(lèi),只不過(guò)在接口語(yǔ)法中增加了兩個(gè)關(guān)鍵字:interface 和 imp
47、lements 而已。一個(gè)類(lèi)去實(shí)現(xiàn)接口,如果這個(gè)類(lèi)不希望也稱(chēng)為抽象類(lèi),就必須實(shí)現(xiàn)接口中所有方法接口之間可以多繼承。不同于 Java 中對(duì)于類(lèi)之間的單繼承的要求,接口之間沒(méi) 有這個(gè)限制。一個(gè)接口可以繼承多個(gè)接口一個(gè)類(lèi)在繼承另外一個(gè)類(lèi)的同時(shí),還可以實(shí)現(xiàn)多個(gè)接口利用接口實(shí)現(xiàn)多繼承,不會(huì)破壞類(lèi)之間樹(shù)狀關(guān)系的簡(jiǎn)單性解耦合的工具 標(biāo)準(zhǔn)把標(biāo)準(zhǔn)的使用者和標(biāo)準(zhǔn)的實(shí)現(xiàn)著分離接口的回調(diào)在定義接口之后,先有接口的使用者,后有接口的額實(shí)現(xiàn)者 使用者通過(guò)接口調(diào)用實(shí)現(xiàn)者中的方法=內(nèi)部類(lèi) 類(lèi)中定義類(lèi)成員內(nèi)部類(lèi) 1)可以訪問(wèn)外部類(lèi)的私有成員 2)創(chuàng)建成員內(nèi)部類(lèi)對(duì)象,必須先創(chuàng)建外部類(lèi)對(duì)象,再通過(guò)外部類(lèi)對(duì)象.new 構(gòu)造內(nèi)部類(lèi)對(duì)象
48、 3)成員內(nèi)部類(lèi)中不能有靜態(tài)成員 4)外部類(lèi)類(lèi)名.this 指向外部類(lèi)的當(dāng)前對(duì)象靜態(tài)內(nèi)部類(lèi) 1)靜態(tài)內(nèi)部類(lèi)只能訪問(wèn)外部類(lèi)的靜態(tài)成員 2)創(chuàng)建靜態(tài)內(nèi)部類(lèi)對(duì)象,不需要先創(chuàng)建外部類(lèi)對(duì)象局部?jī)?nèi)部類(lèi) 1)使用范圍等同于局部變量 2)不僅可以訪問(wèn)外部類(lèi)的私有成員,還可以訪問(wèn)外部類(lèi)的局部變量,但是必須被聲明為final匿名內(nèi)部類(lèi) 1)特殊的局部?jī)?nèi)部類(lèi) 2)繼承一個(gè)類(lèi)或者實(shí)現(xiàn)一個(gè)接口 3)只會(huì)創(chuàng)建該類(lèi)的一個(gè)對(duì)象 匿名內(nèi)部類(lèi)無(wú)法定義構(gòu)造方法1.內(nèi)部類(lèi)可以訪問(wèn)外部類(lèi)的私有成員,而不破壞封裝2.接口公開(kāi),接口的實(shí)現(xiàn)類(lèi)作為內(nèi)部類(lèi)隱藏起來(lái),強(qiáng)制弱耦合=Object類(lèi) Java中所有類(lèi)的父類(lèi) 類(lèi)繼承關(guān)系樹(shù)的樹(shù)根1.Obj
49、ect o; o中可以裝任何對(duì)象2.Object類(lèi)中的方法 是所有對(duì)象都具有的方法1)finalize():由垃圾收集器在回收垃圾對(duì)象時(shí),最后調(diào)用 a.垃圾回收器如何認(rèn)定垃圾對(duì)象 零引用算法 b.垃圾回收器何時(shí)釋放垃圾對(duì)象 必須釋放的時(shí)候2)getClass():返回對(duì)象的實(shí)際類(lèi)型3)toString():返回對(duì)象的String形式 打印一個(gè)對(duì)象就是打印這個(gè)對(duì)象的toString方法的返回值4)boolean equals(Object o):判斷this和o內(nèi)容是否相同包裝類(lèi)1.為8中簡(jiǎn)單類(lèi)型提供對(duì)象形式 讓Object統(tǒng)一所有數(shù)據(jù)2.對(duì)于數(shù)值類(lèi)型的屬性,區(qū)分0和null包裝類(lèi) 簡(jiǎn)單類(lèi)型 String 之間的轉(zhuǎn)換JDK5.0 自動(dòng)封箱由編譯器自動(dòng)完成簡(jiǎn)單類(lèi)型和包裝之間的轉(zhuǎn)換=集合框架 集合部分多做題集合:容器 一個(gè)對(duì)象,用來(lái)存儲(chǔ)其它多個(gè)對(duì)象接口的特點(diǎn)接口中的方法遍歷實(shí)現(xiàn)類(lèi)Collection特點(diǎn):元素是Object(對(duì)象)主要的方法:add(Object o):把對(duì)象o放入集合addAll(Collection c):把c中的所有對(duì)象放入集合clear():清空集合contains(Object o):判斷對(duì)象o在集合中是否存在isEmpty():判斷集合是否為空remove(Object o):把對(duì)象o從集合中刪去size():返回集合中對(duì)象的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 禁燒看管協(xié)議書(shū)
- 疫苗保密協(xié)議書(shū)
- 禮賓承包協(xié)議書(shū)
- 家庭豬場(chǎng)用工協(xié)議書(shū)
- 私下貸款協(xié)議書(shū)
- 瑜伽客戶(hù)協(xié)議書(shū)
- 禁止改裝協(xié)議書(shū)
- 種植治療協(xié)議書(shū)
- 工地工錢(qián)欠款協(xié)議書(shū)
- 皂角采購(gòu)協(xié)議書(shū)
- 珠寶首飾加工工藝介紹課件
- 《電業(yè)安全工作規(guī)程》
- 處置室工作制度(6篇)
- 二次配線(xiàn)工藝標(biāo)準(zhǔn)守則
- 骨髓穿刺術(shù)評(píng)分表
- 海底撈火鍋店各崗位職責(zé)
- 發(fā)證機(jī)關(guān)所在地區(qū)代碼表
- 車(chē)輛安全設(shè)施設(shè)備定期檢查臺(tái)賬
- Q∕GDW 10799.7-2020 國(guó)家電網(wǎng)有限公司電力安全工作規(guī)程 第7部分:調(diào)相機(jī)部分
- 田中靖久頸椎病癥狀量表20分法
- 人教版小學(xué)五年級(jí)數(shù)學(xué)競(jìng)賽試題及答案
評(píng)論
0/150
提交評(píng)論