黑馬程序員入學(xué)Java知識(shí)_第1頁
黑馬程序員入學(xué)Java知識(shí)_第2頁
黑馬程序員入學(xué)Java知識(shí)_第3頁
黑馬程序員入學(xué)Java知識(shí)_第4頁
黑馬程序員入學(xué)Java知識(shí)_第5頁
已閱讀5頁,還剩246頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

黑馬程序員入學(xué)Java知識(shí)——精華總結(jié)

J2SE部分,Java高新技術(shù)部分,7K面試題部分等黑馬入學(xué)要求的知識(shí)點(diǎn)總結(jié)!

一、黑馬程序員Tava概述與基礎(chǔ)知識(shí).........................................5

1、何為編程?...........................................................5

2、Java語言概述,歷史、特點(diǎn).............................................6

3、什么是跨平臺(tái)性?原理是什么?JVM.........................................................................6

4、Jre和Jdk的區(qū)別?.....................................................7

5、java虛擬機(jī)JVM..............................................................................................................7

6、Java程序運(yùn)行機(jī)制....................................................7

7、學(xué)習(xí)java注意的地方.................................................7

8、Java語法格式.........................................................8

9、代碼注釋:單行//,多行/**/,文檔注釋/***/............................8

10、Java中的標(biāo)識(shí)符......................................................8

11、java中的常量和變量..................................................9

12、Java成員變量和局部變量..............................................9

14、基本數(shù)據(jù)類型轉(zhuǎn)換之向上轉(zhuǎn)型和向下轉(zhuǎn)換..............................11

15、Java的運(yùn)算符.......................................................12

16、表達(dá)式和三目運(yùn)算符.................................................12

17、程序流程控制.......................................................13

18、三大循環(huán)結(jié)構(gòu):.......................................................15

19、嵌套循環(huán)與流程控制.................................................17

二、黑馬程序員一方法與數(shù)組.................................................19

1、什么是方法(Method)?...........................................................................................19

2、Java中方法的格式:.................................................19

3、方法里的屬性........................................................20

4、方法特點(diǎn)............................................................20

5、什么是方法的重載(Overload)?............................................................................21

6、可變參數(shù)...........................................................22

7、數(shù)組簡介:..........................................................22

8、一維數(shù)組的聲明與初始化:...........................................23

9、數(shù)組的使用:........................................................24

10、分配內(nèi)存空間.......................................................26

11、二維數(shù)組:.........................................................27

12、操作數(shù)組的工具類-Arrays.........................................................................................27

13、Java5新特性對(duì)數(shù)組的支持:.........................................28

三、黑馬程序員一面向?qū)ο螅?)..............................................29

1、什么叫面向?qū)ο螅?...................................................29

2、類...................................................................29

3、構(gòu)造方法............................................................30

4、static關(guān)鍵字.........................................................32

5、匿名對(duì)象............................................................33

6、this關(guān)鍵字...........................................................33

7、面向?qū)ο笾庋b......................................................33

8、訪問修飾符..........................................................34

9、類的設(shè)計(jì)分析........................................................34

10、面向?qū)ο笾^承.....................................................35

11、子類訪問父類和方法覆寫.............................................36

12、super關(guān)鍵字和調(diào)用父類構(gòu)造方法.....................................36

13、面向?qū)ο笾鄳B(tài).....................................................38

14、引用變量類型轉(zhuǎn)換...................................................39

四、黑馬程序員一面向?qū)ο?2)............................................................................................40

1、基本數(shù)據(jù)類型的包裝類................................................40

2、基本數(shù)據(jù)類型和包裝類相互轉(zhuǎn)換.......................................41

3、基本類型和String之間的轉(zhuǎn)換.........................................41

4、Object類............................................................42

5、代碼塊..............................................................42

6、構(gòu)造方法的私有化....................................................44

7、Singleton模式(單例模式)餓漢式和懶漢式.............................45

8、final關(guān)鍵字.........................................................47

9、抽象類..............................................................47

10、抽象類的體現(xiàn)-模板模式..............................................49

11、接口(interface)..............................................................................................................51

12、接口的使用.........................................................52

13、面向接口編程之制定標(biāo)準(zhǔn)和簡單工廠模式..............................53

14、面向接口編程之適配器模式..........................................55

15、接口和抽象類的比較................................................56

16、匿名內(nèi)部類.........................................................57

17、枚舉類.............................................................57

五、黑馬程序員一異常處理和常用類..........................................60

1、異常.................................................................60

2、異常處理格式........................................................60

3、多異常處理..........................................................61

4、異常的分類..........................................................62

5、聲明異常(throws).....................................................................................................63

6^throw...............................................................................................................................63

8^throw和catch同時(shí)使用...............................................64

9、常用類..............................................................65

10、Siring方法..........................................................67

11>StringBuffer與StringBuilder...................................................................................69

12、Math和Random和UUID..........................................................................................72

13、Date和Calendar..........................................................................................................74

14、System...........................................................................................................................77

六、黑馬程序員一線程技術(shù)...................................................78

1、進(jìn)程和線程..........................................................78

2、創(chuàng)建線程方式........................................................79

3、兩種進(jìn)程創(chuàng)建方式比較................................................80

4、線程的生命周期......................................................82

5、控制線程............................................................83

6、多線程安全問題......................................................85

7、多線程安全問題的解決方法............................................86

8、線程通信............................................................90

七、黑馬程序員一集合框架(1)............................................................................................93

1、集合類&容器.....................................................93

2、Collection接口.......................................................94

3、Iterator接口..........................................................95

4、集合遍歷輸出方式....................................................96

6、TreeSet............................................................................................................................99

7、List接口............................................................103

8、List接口中常用類....................................................105

9、Map接口...........................................................108

八、黑馬程序員—集合框架(2)..........................................................................................111

1、Collections類.......................................................111

2、Arrays.............................................................................................................................113

3、泛型(Generic)...............................................................................................................114

4、泛型的使用..........................................................114

5、聲明多個(gè)泛型類型和通配符...........................................119

6、泛型的上限與下限...................................................119

7、泛型接口和方法.....................................................122

8、泛型的嵌套(map例子).............................................122

九、黑馬程序員一10操作(1).............................................................................................123

1、10的概述和File方法................................................124

2、遞歸(Recursion)...........................................................................................................125

3、文件過濾器java.io.FilenameFilter.............................................................................127

4、流..................................................................128

5、操作流的步驟(重點(diǎn))...............................................129

6、字節(jié)流和字符流.....................................................130

7、文件拷貝............................................................132

8、字節(jié)f字符轉(zhuǎn)換流...................................................134

9、自動(dòng)關(guān)閉資源的try語句.............................................135

I、1^)彳'I(2)>(?■*((■*■*■*(*■*■?■*((■*■*■*(*■*■?■*((■*■*■*(*■*■?■*((■*■*■*(*■*■?■*((■*■*■*(*■*■?■*((■*■*■*(*■*■?■*■?13

1、內(nèi)存操作流..........................................................136

2、打印流..............................................................138

3、格式化輸出.........................................................139

4、標(biāo)準(zhǔn)流..............................................................141

5、Scanner(簡單文本掃描器).............................................142

6、緩沖流..............................................................144

7、合并流(SequencelnputStream)................................................................................146

十一、黑馬程序員一網(wǎng)絡(luò)編程................................................147

1、什么是網(wǎng)絡(luò)編程?...................................................147

2、網(wǎng)絡(luò)通訊要素.......................................................147

3、TCP和UDP的聯(lián)系和用途...........................................148

4、InetAddress與Socket..................................................................................................149

5、UDP傳輸...........................................................150

6、TCP傳輸...........................................................154

8、小例子..............................................................160

十二、黑馬程序員一反射機(jī)制................................................162

1、反射的概念..........................................................162

2、獲得Class對(duì)象......................................................164

3、九個(gè)預(yù)定義Class對(duì)象...............................................165

4、利用Class獲取類的屬性信息.........................................166

5、Class中得到構(gòu)造方法Constructor、方法Method、字段Field...........................167

6、利用反射創(chuàng)建對(duì)象...................................................172

7、使用反射調(diào)用方法...................................................176

8、使用反射調(diào)用可變參數(shù)方法...........................................177

9、使用反射操作字段...................................................178

10、反射和泛型-反射來獲取泛型信息.....................................180

十三、黑馬程序員一反射機(jī)制................................................182

1、GUI(圖形用戶界面)..................................................182

2、布局管理器.........................................................183

3、事件監(jiān)聽機(jī)制組成...................................................184

4、Dialog.............................................................................................................................191

5、菜單................................................................194

1、Eclipse的使用技巧...................................................198

2、靜態(tài)導(dǎo)入(1.5特性,好處是不用寫類名).............................200

3、可變參數(shù)...........................................................201

5、基本數(shù)據(jù)類型的自動(dòng)拆箱與裝箱......................................202

6、枚舉................................................................202

7、反射實(shí)現(xiàn)框架功能...................................................204

1、內(nèi)省了解JavaBean.................................................................................................206

2、內(nèi)省綜合案例和Beanutils工具包......................................206

3、注解(Annotation)....................................................................................................209

4、泛型................................................................212

1、類加載器...........................................................216

2、類加載器的委托機(jī)制.................................................217

3、一個(gè)類加載器的高級(jí)問題分析........................................221

4、代理的概念與作用..................................................221

5、動(dòng)態(tài)代理技術(shù).......................................................223

6、分析JVM動(dòng)態(tài)生成的類..............................................223

8、實(shí)現(xiàn)類似spring的可配置的AOP框架................................230

黑馬程序員——面試題之交通燈管理系統(tǒng).................................234

1、面向?qū)ο蟮姆治雠c設(shè)計(jì)...............................................235

2、Road類的編寫......................................................236

3、Lamp類的編寫......................................................237

4、LampController類的編寫.............................................240

5、MainClass類的編寫..................................................241

黑馬程序員——面試題之銀行業(yè)務(wù)系統(tǒng)...................................242

1、需求................................................................243

2、需求分析...........................................................243

3、NumberManager類..................................................244

4、NumberMachine類...................................................245

5、CustomerType枚舉類................................................245

6、ServiceWindow類...................................................246

7、MainClass類與Constants類...........................................249

一、黑馬程序員一java概述與基礎(chǔ)知識(shí)

1、何為編程?

編程就是讓計(jì)算機(jī)為解決某個(gè)問題而使用某種程序設(shè)計(jì)語言編寫程序代碼,并最終得到結(jié)果

的過程。

為了使計(jì)算機(jī)能夠理解人的意圖,人類就必須要將需解決的問題的思路、方法、和手段通

過計(jì)算機(jī)能夠理解的形式告訴計(jì)算機(jī),使得計(jì)算機(jī)能夠根據(jù)人的指令一步一步去工作,完

成某種特定的任務(wù)。這種人和計(jì)算機(jī)之間交流的過程就是編程。

2、Java語言概述,歷史、特點(diǎn)

是SUN(StanfordUniversityNetwork,斯坦福大學(xué)網(wǎng)絡(luò)公司)1995年推出的一門高級(jí)語言。

是一種面向Internet的編程語言。

隨著Java技術(shù)在web方面的不斷成熟,已經(jīng)成為Web應(yīng)用程序的首選開發(fā)語言。

是簡單易學(xué),完全面向?qū)ο?,安全可靠,與平臺(tái)無關(guān)的編程語言。

java5.0之后的三大技術(shù)框架

J2EE(Java2PlatformEnterpriseEdition)企業(yè)版

在jdk5.0版本后稱為JAVAEE,是為開發(fā)企業(yè)環(huán)境下的應(yīng)用程序提供的一套解決方案。該技術(shù)

體系中包含的技術(shù)如ServletJsp等,主要針對(duì)于Web應(yīng)用程序開發(fā)。是傳智播客就業(yè)班和

黑馬訓(xùn)練營的主要學(xué)習(xí)內(nèi)容之一

J2SE(Java2PlatformStandardEdition)標(biāo)準(zhǔn)版

在jdk5.0版本后稱為JAVASE,這是在java基礎(chǔ)階段主要學(xué)習(xí)的內(nèi)容也是java的基礎(chǔ),以后不

管從事Android開發(fā)或者是物聯(lián)網(wǎng)+云計(jì)算的開發(fā),等是建立在JSE基礎(chǔ)上的,因此該技術(shù)是

java的最核心技術(shù),是傳智播客基礎(chǔ)班的主要上課內(nèi)容

J2ME(Java2PlatformMicroEdition)<J、型版

在jdk5.0版本以后稱為JAVAME,該技術(shù)多應(yīng)用于一些電子產(chǎn)品的嵌入式開發(fā),以前在手機(jī)開

發(fā)上應(yīng)用的也比較多,但是隨著智能手機(jī)的發(fā)展,現(xiàn)在手機(jī)應(yīng)用程序(比如Android程序)的開

發(fā)已經(jīng)不再使用該技術(shù)。

3、什么是跨平臺(tái)性?原理是什么?JVM

所謂跨平臺(tái)性,是指java語言編寫的程序,一次編譯后,可以在多個(gè)系統(tǒng)平臺(tái)上運(yùn)行。

實(shí)現(xiàn)原理:Java程序是通過java虛擬機(jī)在系統(tǒng)平臺(tái)上運(yùn)行的,只要該系統(tǒng)可以安裝相

應(yīng)的java虛擬機(jī),該系統(tǒng)就可以運(yùn)行java程序。(注意不是能在所有的平臺(tái)上運(yùn)行,關(guān)鍵是

該平臺(tái)是否能安裝相應(yīng)的虛擬機(jī))。

我的總結(jié):Java程序之所以能夠?qū)崿F(xiàn)跨平臺(tái)運(yùn)行,是因?yàn)樗揪筒恢苯舆\(yùn)行在任何底層

平臺(tái)上,而是需要在哪里運(yùn)行,就在哪里(如Windows平臺(tái))事先準(zhǔn)備好自己的Java平臺(tái),

而這只是僅僅是安裝和配置一個(gè)軟件而已!

4、Jre和Jdk的區(qū)別?

JRE:(JavaRuntimeEnvironment),java運(yùn)行環(huán)境。包括Java虛擬機(jī)(JVMJavaVirtualMachine)

和Java程序所需的核心類庫等,如果想要運(yùn)行一個(gè)開發(fā)好的Java程序,計(jì)算機(jī)中只需要安

裝JRE即可。

JDK:(JavaDevelopmentKitJava)開發(fā)工具包。JDK是提供給Java開發(fā)人員使用的,其中

包含了java的開發(fā)工具,也包括了JRE。所以安裝了JDK,就不用在單獨(dú)安裝JRE了。

其中的開發(fā)工具:編譯工具(javac.exe)打包工具(jar.exe)等

簡單而言:使用JDK開發(fā)完成的java程序,交給JRE去運(yùn)行。

我的總結(jié):必須熟練的記憶,核心類庫,開發(fā)工具!

5、java虛擬機(jī)JVM

JavaVirtualMachine,簡稱JVM;

它是運(yùn)行所有Java程序的抽象計(jì)算機(jī),是Java語言的運(yùn)行環(huán)境,它是Java最具吸引力的特

性之一,JVM讀取并處理編譯過的與平臺(tái)無關(guān)的字節(jié)碼(class)文件。

Java編譯器針對(duì)JVM產(chǎn)生class文件,因此是獨(dú)立于平臺(tái)的。

Java解釋器負(fù)責(zé)將JVM的代碼在特定的平臺(tái)上運(yùn)行。

Java虛擬機(jī)是不跨平臺(tái)的.

6、Java程序運(yùn)行機(jī)制

編譯:javac文件名.文件后綴名

運(yùn)行:java類名

我的總結(jié):Java程序的組成:Java源文件,字節(jié)碼文件。

7、學(xué)習(xí)java注意的地方

Java語言拼寫上嚴(yán)格區(qū)分大小寫;

一個(gè)Java源文件里可以定義多個(gè)Java類,但其中最多只能有一個(gè)類被定義成public類;

若源文件中包括了public類,源文件必須和該public類同名;

一個(gè)源文件中包含N個(gè)Java類時(shí),編譯后會(huì)生成N份字節(jié)碼文件,即每個(gè)類都會(huì)生成一份

單獨(dú)的class文件,且字節(jié)碼文件名和

其對(duì)應(yīng)的類名相同:

我的總結(jié):一個(gè)Java源文件只定義一個(gè)類,不同的類使用不同的源文件定義;

將每個(gè)源文件中單獨(dú)定義的類都定義成public的;

保持Java源文件的主文件名與源文件中的類名一致;

8、Java語法格式

任何一種語言都有自己的語法規(guī)則Java也一樣,既然是規(guī)則,那么知道其如何使用就可以了。

代碼都定義在類中,類由class來定義,區(qū)分publicclass和class;

代碼嚴(yán)格區(qū)分大小寫,如main和Main是不一樣的;

Java中的標(biāo)識(shí)符與關(guān)鍵字;

注釋;

main方法的作用:

程序的入口

保證程序的獨(dú)立運(yùn)行

被JVM調(diào)用

9、代碼注釋:單行〃,多行/**/,文檔注釋/***/

1.單行注釋//:

〃后到本行結(jié)束的所有字符會(huì)被編譯器忽略;

2.多行注釋/**/:

/**/之間的所有字符會(huì)被編譯器忽略

3.文檔注釋/***/:

在/***/之間的所有字符會(huì)被編譯器忽略,java特有的(用于生成文檔);

我的總結(jié):多行和文檔注釋都不能嵌套使用。

10、Java中的標(biāo)識(shí)符

可簡單理解為在Java程序中為了增強(qiáng)閱讀性自定義的名稱。比如:類名,方法名,變量名

等。

命名規(guī)則:

(1)由字母、數(shù)字、下劃線、$組成,不能以數(shù)字開頭

注意:此處的字母還可以是中文,11文等;

(2)大小寫敏感

(3)不得使用java中的關(guān)鍵字和保留字

(4)別用JavaAPI里面的類名作為自己的類名。

H、java中的常量和變量

變量的概念:

占據(jù)著內(nèi)存中的某一個(gè)存儲(chǔ)區(qū)域;

該區(qū)域有自己的名稱(變量名)和類型(數(shù)據(jù)類型);

該區(qū)域的數(shù)據(jù)可以在同一類型范圍內(nèi)不斷變化;

為什么要定義變量:

用來不斷的存放同一類型的常量,并可以重復(fù)使用;

使用變量注意:

變量的作用范圍,初始化值

定義變量的格式:t

數(shù)據(jù)類型變量名=初始化值;

注:格式是固定的,記住格式,以不變應(yīng)萬變。

作用范圍:定義開始到定義它的代碼塊結(jié)束;

同一范圍內(nèi),不允許多個(gè)個(gè)局部變量命名沖突

12、Java成員變量和局部變量

局部變量:不是聲明在類體括號(hào)里面的變量;

局部變量使用前必須初始化值;

局部變量沒有默認(rèn)初始化值;

局部變量的作用域是從定義開始到定義它的代碼塊結(jié)束;

成員變量:在方法體外,類體內(nèi)聲明的變量,又稱字段(Field)或全局變量;(其實(shí)Java中沒有全

局變量,由于Java是面向?qū)ο笳Z言,所有變量都是類成員)

成員變量的作用域是整個(gè)類中;

我的總結(jié):注意成員變量和局部變量的區(qū)別

packagereviewDemo;

publicclassDemo2{

publicstaticvoidmain(String[]args){

inti;

System.out.println(i);

}

)

備注:局部變量調(diào)用前沒有初始化,所以編譯的時(shí)候就會(huì)報(bào)錯(cuò)!

packagereviewDemo;

publicclassDemo2{

staticinti;

publicstaticvoidmain(String[]args){

System.out.println(i);

)

備注:此時(shí)i為全局變量,未初始化會(huì)被賦予默認(rèn)的初始化值!程序正確!

我的總結(jié):

局部變量是定義在方法中的變量”,出了該方法就不能訪問該變量了.…

成員變量是在類中定義,”,并且在類的成員方法中都能訪問的變量..

13、基本數(shù)據(jù)類型

在數(shù)據(jù)類型中,最常用也是最基礎(chǔ)的數(shù)據(jù)類型,被稱作基本數(shù)據(jù)類型??梢允褂眠@些類型的

值來代表一些簡單的狀態(tài)。

Java語言的基本數(shù)據(jù)類型總共有以下8種,下面是按照用途劃分出的4個(gè)類別:

整數(shù)型:byte(字節(jié)型)、short(短整型)、int(整型)、long(長整型)

小數(shù)型:float(單精度浮點(diǎn)型)、double(雙精度浮點(diǎn)型)

字符型:char(學(xué)符型)

布爾型:boolean(布爾型)

定點(diǎn)類型:

整數(shù)型是一類代表整數(shù)值的類型。當(dāng)需要代表一個(gè)整數(shù)的值時(shí),可以根據(jù)需要從4種類型

中挑選合適的,如果沒有特殊要求的話,一般選擇int類型。4種整數(shù)型區(qū)別主要在每個(gè)數(shù)

據(jù)在內(nèi)存中占用的空間大小和代表的數(shù)值的范圍。

數(shù)

數(shù)型?-

類型

關(guān)?-e

“b占用空間(字節(jié))嚶范圍,,、默認(rèn)值

量型r1-2痂次方到2的7次方減一(128)0

短Syt

型型t2-2的15次方到2的15次方減一(32768)0

整ihog

整型4-2的31次方到2的31次方減一(65535)0

長lnt

g8-2的63次方到2的63次方減一(太暴可以忽略)0

浮點(diǎn)類型:

小數(shù)型是一類代表小數(shù)值的類型。當(dāng)需要代表一個(gè)小數(shù)的值時(shí),可以根據(jù)需要從以下2種

類型中挑選合適的。如果沒有特殊要求,一般選擇double類型。

由于小數(shù)的存儲(chǔ)方式和整數(shù)不同,所以小數(shù)都有一定的精度,所以在計(jì)算機(jī)中運(yùn)算時(shí)不夠精

確。根據(jù)精度和存儲(chǔ)區(qū)間的不同,設(shè)計(jì)了兩種小數(shù)類型。

小數(shù)型參數(shù)表

類型名稱關(guān)鍵字占用空間(字節(jié))取值范圍默認(rèn)值

單精度浮點(diǎn)型float4-3.4E+38—3.4E+380.Of

雙精度浮點(diǎn)型double8-1.7E+308—1.7E+3080.0

字符型:

字符型代表特定的某個(gè)字符,按照前面介紹的知識(shí),計(jì)算機(jī)中都是以字符集的形式來保存字

符的,所以字符型的值實(shí)際只是字符集中的編號(hào),而不是實(shí)際代表的字符,由計(jì)算機(jī)完成從

編號(hào)轉(zhuǎn)換成對(duì)應(yīng)字符的工作。Java語言中為了更加方便國際化,使用Unicode字符集作為

默認(rèn)的字符集,該字符集包含各種語言中常見的字符。在程序代碼中,字符使用一對(duì)單引號(hào)

加上需要表達(dá)的字符來標(biāo)識(shí),例

如‘A'、'a'等,當(dāng)然也可以直接使用字符編碼,也就是一個(gè)非負(fù)整數(shù)進(jìn)行表示。

字符型參數(shù)表

類型名稱關(guān)鍵字占用空間(字節(jié))取值范圍默認(rèn)值

字符型char2。到2的16次方減一'\u0000'(代表空格)

布爾型:

布爾型代表邏輯中的成立和不成立。Java語言中使用關(guān)鍵字true代表成立,false代表不成

立。布爾型是存儲(chǔ)邏輯值的類型,其實(shí)很多程序中都有邏輯值的概念,Java把邏輯的值用

布爾型來進(jìn)行表達(dá)。

布爾型參數(shù)表

類型名稱關(guān)鍵字占用空間(字節(jié))取值范圍默認(rèn)值

布爾型boolean1true或falsefalse

14、基本數(shù)據(jù)類型轉(zhuǎn)換之向上轉(zhuǎn)型和向下轉(zhuǎn)換

向上轉(zhuǎn)換:

整型,字符型,浮點(diǎn)型的數(shù)據(jù)在混合運(yùn)算中相互轉(zhuǎn)換,轉(zhuǎn)換時(shí)遵循以下原則:

容量小的類型可自動(dòng)轉(zhuǎn)換為容量大的數(shù)據(jù)類型;

byte,short,char-*intflong-*floatdouble

byte,shorl,char之間不會(huì)相互轉(zhuǎn)換,他們在計(jì)算時(shí)首先會(huì)轉(zhuǎn)換為int類型。

boolean類型是不可以轉(zhuǎn)換為其他基本數(shù)據(jù)類型。

Eg:

inti=123;

long1=i;〃自動(dòng)轉(zhuǎn)換,不需強(qiáng)轉(zhuǎn)

floatf=3.14F;

doubled=f;

向下轉(zhuǎn)換:

整型,字符型,浮點(diǎn)型的數(shù)據(jù)在混合運(yùn)算中相互轉(zhuǎn)換,轉(zhuǎn)換時(shí)遵循以下原則:

容量小的類型可自動(dòng)轉(zhuǎn)換為容量大的數(shù)據(jù)類型;

byte,short,charfintflongffloatfdouble

byte,short,char之間不會(huì)相互轉(zhuǎn)換,他們在計(jì)算時(shí)首先會(huì)轉(zhuǎn)換為int類型。

boolean類型是不可以轉(zhuǎn)換為其他基本數(shù)據(jù)類型。

Eg:

long1=123L;

inti=(int)1;〃必須強(qiáng)轉(zhuǎn)

doubled=3.14;

floatf=(float)d;

我的總結(jié):類型轉(zhuǎn)化

小轉(zhuǎn)大,自動(dòng)!自動(dòng)類型轉(zhuǎn)換(也叫隱式類型轉(zhuǎn)換)

大轉(zhuǎn)小,強(qiáng)轉(zhuǎn)!強(qiáng)制類型轉(zhuǎn)換(也叫顯式類型轉(zhuǎn)換)

15、Java的運(yùn)算符

運(yùn)算符是一種特殊符號(hào),用以表示數(shù)據(jù)的運(yùn)算、賦值利比較等共分以下幾種:

算術(shù)運(yùn)算符(+、一、*、/、%)

賦值運(yùn)算符(=、+=、-=、*=、/=,、%=)

關(guān)系運(yùn)算符(>、>=、<、<=、!=)

條件運(yùn)算符(&&、II、!&、I、A)

位運(yùn)算符(&、I、"、~、>>、<<、<?、?>)

我的總結(jié):

邏輯運(yùn)算符用于連接布爾型表達(dá)式,在Java中不可以寫成3<x<6,應(yīng)該寫成x>3&x<6。

“&”和“&&”的區(qū)別:單與時(shí),左邊無論真假,右邊都進(jìn)行運(yùn)算;雙與時(shí),如果左邊為

真,右邊參與運(yùn)算,如果左邊為假,那么右邊不參與運(yùn)算。

“I”和“II”的區(qū)別同理,雙或時(shí),左邊為真,右邊不參與運(yùn)算。

“A”與不同之處是:當(dāng)左右都為true時(shí),“人"結(jié)果為false。

16、表達(dá)式和三目運(yùn)算符

是山數(shù)字、運(yùn)算符、數(shù)字分組符號(hào)(括號(hào))等以能求得數(shù)值的有意義排列的序列;

a+b

3.14+a

(x+y)*z+100

booleanb=i<10&&(i%10!=0)

表達(dá)式的類型和值:

對(duì)表達(dá)式中操作數(shù)進(jìn)行運(yùn)算得到的結(jié)果是表達(dá)式的值。

表達(dá)式值的數(shù)據(jù)類型即為表達(dá)式的類型。

表達(dá)式的運(yùn)算順序

應(yīng)按照運(yùn)算符的優(yōu)先級(jí)從高到低的順序進(jìn)行;

優(yōu)先級(jí)相同的運(yùn)算符按照事先約定的結(jié)合方向進(jìn)行;

“三目運(yùn)算符”,語法格式:

X?y:Z;

其中x為boolean類型表達(dá)式,先計(jì)算x的值,若為true,則整個(gè)三目運(yùn)算符的結(jié)果是表達(dá)式

y的值,否則就是z的值。

packagereviewDemo;

publicclassDemo2{

publicstaticvoidmain(String[]args){

Strings=n1z**;

s=(s=="lz"?"正確":"錯(cuò)誤");

System.out.printin(s);

輸出:正確

17、程序流程控制

順序結(jié)構(gòu)

分支結(jié)構(gòu)(條件結(jié)構(gòu))

循環(huán)結(jié)構(gòu)

控制循環(huán)結(jié)構(gòu)

順序結(jié)構(gòu):

如果代碼里沒有流程控制,程序是至上而下一行一行執(zhí)行的,一條語句執(zhí)行完之后繼續(xù)執(zhí)行

下一條語句,直到程序的最后。

if語句:

基本語法:if(表達(dá)式){方法體}elseif(表達(dá)式){方法體}else(方法體)

幾種形式:

三種格式:

if(條件表達(dá)式){執(zhí)行語句;}

if(條件表達(dá)式){執(zhí)行語句;}else{執(zhí)行語句;}

if(條件表達(dá)式){執(zhí)行語句;}elseif(條件表達(dá)式){執(zhí)行語句;}……else{執(zhí)行語句;}

publicclassIf3

publicstaticvoidmain(Stringargs[l)

inti=3;

if(i>5)

System.out.println(“變量i大于5");

elseif(i>4)

(

System.out.println("變量i小于4");

)

else

(

System.out.println("其他)

switch控制語句

格式:

switch(表達(dá)式)

(

case表達(dá)式可能的結(jié)果值1:

執(zhí)行語句;

break;

case表達(dá)式可能的結(jié)果值2:

執(zhí)行語句;

break;

default:

執(zhí)行語句;

break;〃最后這個(gè)一般不寫

)

備注:

case之間與default沒有順序。先執(zhí)行第一個(gè)case,都沒有匹配的case值執(zhí)行default。

結(jié)束switch語句的兩種情況:遇到break,switch語句執(zhí)行結(jié)束。

如果匹配的case或者default沒有對(duì)應(yīng)的break,那么程序會(huì)從第一次匹配的case語句開始

繼續(xù)向下執(zhí)行,運(yùn)行可以執(zhí)行的語句,直到遇到break或者switch結(jié)束為止。

classswitch2

(

publicstaticvoidmain(String[]args)

(

inta=7,b=5;

switch(a-b)

(

case3:〃表達(dá)式可能的值;

(

System.out.println(H33!”);

break;

case4:

System.out.println("44!n);

}

break;

default:〃都沒有執(zhí)行則執(zhí)行該語句!

System.out.println("其它的

注意:switch語句只能使用byte、char、short、int四種基本類型以及它們的包裝類和枚舉

18、三大循環(huán)結(jié)構(gòu):

用于處理需要重復(fù)執(zhí)行的操作;

根據(jù)判斷條件的成立與否,決定程序段落的執(zhí)行次數(shù),而這個(gè)程序段落我們稱為循環(huán)體;

while:事先不需要知道循環(huán)執(zhí)行多少次;

dowhile:同上,只是至少要執(zhí)行一次(先做,后判斷);

for:需要知道循環(huán)次數(shù);

循環(huán)結(jié)構(gòu)(while&dowhile)

while語句

格式:

while(條件表達(dá)式值為true)

執(zhí)行語句;

dowhile語句

格式:

do

執(zhí)行語句;

while(條件表達(dá)式值為true);

我的總結(jié):dowhile特點(diǎn)是無論條件是否滿足,循環(huán)體至少被執(zhí)行一次。

循環(huán)里的條件表達(dá)式不能直接寫false或直接寫結(jié)果是false的表達(dá)式,不過可以使用變量來

傳遞false值;

循環(huán)結(jié)構(gòu)(for)

格式:

for(初始化表達(dá)式(1);循環(huán)條件表達(dá)式(2);循環(huán)后的操作表達(dá)式(3))

執(zhí)行語句;(4)

執(zhí)行順序:(1)-*⑵f(4)f⑶-⑵-(4)-(3)

備注:

1,for里面的3個(gè)表達(dá)式運(yùn)行的順序,初始化表達(dá)式只讀一次,判斷循環(huán)條件,為真就執(zhí)行

循環(huán)體,然后再執(zhí)行循環(huán)后的操作表達(dá)式,接著繼續(xù)判斷循環(huán)條件,重復(fù)找個(gè)過程,直到條

件不滿足為止。

2,while與for可以互換,區(qū)別在于for為了循環(huán)而定義的變量在for循環(huán)結(jié)束就在內(nèi)存中釋

放。而while循環(huán)使用的變量在循環(huán)結(jié)束后還可以繼續(xù)使用。

3,最簡單無限循環(huán)格式:while(true),for(;;),無限循環(huán)存在的原因是并不知道循環(huán)多少次,

而是根據(jù)某些條件,來控制循環(huán)。

Eg:

用三種循環(huán)控制求出100以內(nèi)前5個(gè)3的倍數(shù)的數(shù)字;

classwhile

(

publicstaticvoidmain(String[]args)

(

inti=l,k=0;

while(i<=100)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論