版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 陜西省渭南市合陽縣2025屆高考考前模擬數(shù)學(xué)試題含解析
- 2025屆河南省漯河市第五高級(jí)中學(xué)高三第一次調(diào)研測試數(shù)學(xué)試卷含解析
- 山東省莒縣第一中學(xué)2025屆高考語文必刷試卷含解析
- 江蘇省無錫市重點(diǎn)中學(xué)2025屆高三最后一模英語試題含解析
- 黑龍江省牡丹江市三中2025屆高考語文三模試卷含解析
- 湖南省天壹名校2025屆高三3月份第一次模擬考試英語試卷含解析
- 分?jǐn)?shù)基本性質(zhì)課件
- 安徽省肥東市高級(jí)中學(xué)2025屆高三下學(xué)期聯(lián)合考試英語試題含解析2
- 湖南省岳陽市岳陽一中2025屆高考語文五模試卷含解析
- 2025屆湖北省鄂東南五校一體聯(lián)盟聯(lián)考高考英語二模試卷含解析
- 【110kV變電站電氣一次部分設(shè)計(jì)探究5800字(論文)】
- 市政工程施工單位竣工驗(yàn)收自評(píng)報(bào)告
- GB/T 43824-2024村鎮(zhèn)供水工程技術(shù)規(guī)范
- 線上房展會(huì)活動(dòng)方案
- PCB制造成本參數(shù)
- 操作系統(tǒng)智慧樹知到期末考試答案2024年
- 《跨境供應(yīng)鏈管理》教學(xué)大綱(含課程思政)
- 銀行消保專題培訓(xùn)總結(jié)
- 高三英語二輪復(fù)習(xí)寫作專項(xiàng)讀后續(xù)寫人物情緒描寫方法課件
- 粉絲運(yùn)營及維護(hù)技巧
- 殯儀館物業(yè)服務(wù)方案
評(píng)論
0/150
提交評(píng)論