![黑馬程序員入學(xué)Java知識_第1頁](http://file4.renrendoc.com/view/403746774d652a004a5bd7a36630f6d1/403746774d652a004a5bd7a36630f6d11.gif)
![黑馬程序員入學(xué)Java知識_第2頁](http://file4.renrendoc.com/view/403746774d652a004a5bd7a36630f6d1/403746774d652a004a5bd7a36630f6d12.gif)
![黑馬程序員入學(xué)Java知識_第3頁](http://file4.renrendoc.com/view/403746774d652a004a5bd7a36630f6d1/403746774d652a004a5bd7a36630f6d13.gif)
![黑馬程序員入學(xué)Java知識_第4頁](http://file4.renrendoc.com/view/403746774d652a004a5bd7a36630f6d1/403746774d652a004a5bd7a36630f6d14.gif)
![黑馬程序員入學(xué)Java知識_第5頁](http://file4.renrendoc.com/view/403746774d652a004a5bd7a36630f6d1/403746774d652a004a5bd7a36630f6d15.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
黑馬程序員入學(xué)Java知識——精華總結(jié)
J2SE部分,Java高新技術(shù)部分,7K面試題部分等黑馬入學(xué)要求的知識點總結(jié)!
一、黑馬程序員Tava概述與基礎(chǔ)知識.........................................5
1、何為編程?...........................................................5
2、Java語言概述,歷史、特點.............................................6
3、什么是跨平臺性?原理是什么?JVM.........................................................................6
4、Jre和Jdk的區(qū)別?.....................................................7
5、java虛擬機(jī)JVM..............................................................................................................7
6、Java程序運行機(jī)制....................................................7
7、學(xué)習(xí)java注意的地方.................................................7
8、Java語法格式.........................................................8
9、代碼注釋:單行//,多行/**/,文檔注釋/***/............................8
10、Java中的標(biāo)識符......................................................8
11、java中的常量和變量..................................................9
12、Java成員變量和局部變量..............................................9
14、基本數(shù)據(jù)類型轉(zhuǎn)換之向上轉(zhuǎn)型和向下轉(zhuǎn)換..............................11
15、Java的運算符.......................................................12
16、表達(dá)式和三目運算符.................................................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、方法特點............................................................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新特性對數(shù)組的支持:.........................................28
三、黑馬程序員一面向?qū)ο螅?)..............................................29
1、什么叫面向?qū)ο螅?...................................................29
2、類...................................................................29
3、構(gòu)造方法............................................................30
4、static關(guān)鍵字.........................................................32
5、匿名對象............................................................33
6、this關(guān)鍵字...........................................................33
7、面向?qū)ο笾庋b......................................................33
8、訪問修飾符..........................................................34
9、類的設(shè)計分析........................................................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同時使用...............................................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、聲明多個泛型類型和通配符...........................................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、操作流的步驟(重點)...............................................129
6、字節(jié)流和字符流.....................................................130
7、文件拷貝............................................................132
8、字節(jié)f字符轉(zhuǎn)換流...................................................134
9、自動關(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對象......................................................164
3、九個預(yù)定義Class對象...............................................165
4、利用Class獲取類的屬性信息.........................................166
5、Class中得到構(gòu)造方法Constructor、方法Method、字段Field...........................167
6、利用反射創(chuàng)建對象...................................................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ù)類型的自動拆箱與裝箱......................................202
6、枚舉................................................................202
7、反射實現(xiàn)框架功能...................................................204
1、內(nèi)省了解JavaBean.................................................................................................206
2、內(nèi)省綜合案例和Beanutils工具包......................................206
3、注解(Annotation)....................................................................................................209
4、泛型................................................................212
1、類加載器...........................................................216
2、類加載器的委托機(jī)制.................................................217
3、一個類加載器的高級問題分析........................................221
4、代理的概念與作用..................................................221
5、動態(tài)代理技術(shù).......................................................223
6、分析JVM動態(tài)生成的類..............................................223
8、實現(xiàn)類似spring的可配置的AOP框架................................230
黑馬程序員——面試題之交通燈管理系統(tǒng).................................234
1、面向?qū)ο蟮姆治雠c設(shè)計...............................................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ǔ)知識
1、何為編程?
編程就是讓計算機(jī)為解決某個問題而使用某種程序設(shè)計語言編寫程序代碼,并最終得到結(jié)果
的過程。
為了使計算機(jī)能夠理解人的意圖,人類就必須要將需解決的問題的思路、方法、和手段通
過計算機(jī)能夠理解的形式告訴計算機(jī),使得計算機(jī)能夠根據(jù)人的指令一步一步去工作,完
成某種特定的任務(wù)。這種人和計算機(jī)之間交流的過程就是編程。
2、Java語言概述,歷史、特點
是SUN(StanfordUniversityNetwork,斯坦福大學(xué)網(wǎng)絡(luò)公司)1995年推出的一門高級語言。
是一種面向Internet的編程語言。
隨著Java技術(shù)在web方面的不斷成熟,已經(jīng)成為Web應(yīng)用程序的首選開發(fā)語言。
是簡單易學(xué),完全面向?qū)ο?,安全可靠,與平臺無關(guān)的編程語言。
java5.0之后的三大技術(shù)框架
J2EE(Java2PlatformEnterpriseEdition)企業(yè)版
在jdk5.0版本后稱為JAVAEE,是為開發(fā)企業(yè)環(huán)境下的應(yīng)用程序提供的一套解決方案。該技術(shù)
體系中包含的技術(shù)如ServletJsp等,主要針對于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)+云計算的開發(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、什么是跨平臺性?原理是什么?JVM
所謂跨平臺性,是指java語言編寫的程序,一次編譯后,可以在多個系統(tǒng)平臺上運行。
實現(xiàn)原理:Java程序是通過java虛擬機(jī)在系統(tǒng)平臺上運行的,只要該系統(tǒng)可以安裝相
應(yīng)的java虛擬機(jī),該系統(tǒng)就可以運行java程序。(注意不是能在所有的平臺上運行,關(guān)鍵是
該平臺是否能安裝相應(yīng)的虛擬機(jī))。
我的總結(jié):Java程序之所以能夠?qū)崿F(xiàn)跨平臺運行,是因為它根本就不直接運行在任何底層
平臺上,而是需要在哪里運行,就在哪里(如Windows平臺)事先準(zhǔn)備好自己的Java平臺,
而這只是僅僅是安裝和配置一個軟件而已!
4、Jre和Jdk的區(qū)別?
JRE:(JavaRuntimeEnvironment),java運行環(huán)境。包括Java虛擬機(jī)(JVMJavaVirtualMachine)
和Java程序所需的核心類庫等,如果想要運行一個開發(fā)好的Java程序,計算機(jī)中只需要安
裝JRE即可。
JDK:(JavaDevelopmentKitJava)開發(fā)工具包。JDK是提供給Java開發(fā)人員使用的,其中
包含了java的開發(fā)工具,也包括了JRE。所以安裝了JDK,就不用在單獨安裝JRE了。
其中的開發(fā)工具:編譯工具(javac.exe)打包工具(jar.exe)等
簡單而言:使用JDK開發(fā)完成的java程序,交給JRE去運行。
我的總結(jié):必須熟練的記憶,核心類庫,開發(fā)工具!
5、java虛擬機(jī)JVM
JavaVirtualMachine,簡稱JVM;
它是運行所有Java程序的抽象計算機(jī),是Java語言的運行環(huán)境,它是Java最具吸引力的特
性之一,JVM讀取并處理編譯過的與平臺無關(guān)的字節(jié)碼(class)文件。
Java編譯器針對JVM產(chǎn)生class文件,因此是獨立于平臺的。
Java解釋器負(fù)責(zé)將JVM的代碼在特定的平臺上運行。
Java虛擬機(jī)是不跨平臺的.
6、Java程序運行機(jī)制
編譯:javac文件名.文件后綴名
運行:java類名
我的總結(jié):Java程序的組成:Java源文件,字節(jié)碼文件。
7、學(xué)習(xí)java注意的地方
Java語言拼寫上嚴(yán)格區(qū)分大小寫;
一個Java源文件里可以定義多個Java類,但其中最多只能有一個類被定義成public類;
若源文件中包括了public類,源文件必須和該public類同名;
一個源文件中包含N個Java類時,編譯后會生成N份字節(jié)碼文件,即每個類都會生成一份
單獨的class文件,且字節(jié)碼文件名和
其對應(yīng)的類名相同:
我的總結(jié):一個Java源文件只定義一個類,不同的類使用不同的源文件定義;
將每個源文件中單獨定義的類都定義成public的;
保持Java源文件的主文件名與源文件中的類名一致;
8、Java語法格式
任何一種語言都有自己的語法規(guī)則Java也一樣,既然是規(guī)則,那么知道其如何使用就可以了。
代碼都定義在類中,類由class來定義,區(qū)分publicclass和class;
代碼嚴(yán)格區(qū)分大小寫,如main和Main是不一樣的;
Java中的標(biāo)識符與關(guān)鍵字;
注釋;
main方法的作用:
程序的入口
保證程序的獨立運行
被JVM調(diào)用
9、代碼注釋:單行〃,多行/**/,文檔注釋/***/
1.單行注釋//:
〃后到本行結(jié)束的所有字符會被編譯器忽略;
2.多行注釋/**/:
/**/之間的所有字符會被編譯器忽略
3.文檔注釋/***/:
在/***/之間的所有字符會被編譯器忽略,java特有的(用于生成文檔);
我的總結(jié):多行和文檔注釋都不能嵌套使用。
10、Java中的標(biāo)識符
可簡單理解為在Java程序中為了增強閱讀性自定義的名稱。比如:類名,方法名,變量名
等。
命名規(guī)則:
(1)由字母、數(shù)字、下劃線、$組成,不能以數(shù)字開頭
注意:此處的字母還可以是中文,11文等;
(2)大小寫敏感
(3)不得使用java中的關(guān)鍵字和保留字
(4)別用JavaAPI里面的類名作為自己的類名。
H、java中的常量和變量
變量的概念:
占據(jù)著內(nèi)存中的某一個存儲區(qū)域;
該區(qū)域有自己的名稱(變量名)和類型(數(shù)據(jù)類型);
該區(qū)域的數(shù)據(jù)可以在同一類型范圍內(nèi)不斷變化;
為什么要定義變量:
用來不斷的存放同一類型的常量,并可以重復(fù)使用;
使用變量注意:
變量的作用范圍,初始化值
定義變量的格式:t
數(shù)據(jù)類型變量名=初始化值;
注:格式是固定的,記住格式,以不變應(yīng)萬變。
作用范圍:定義開始到定義它的代碼塊結(jié)束;
同一范圍內(nèi),不允許多個個局部變量命名沖突
12、Java成員變量和局部變量
局部變量:不是聲明在類體括號里面的變量;
局部變量使用前必須初始化值;
局部變量沒有默認(rèn)初始化值;
局部變量的作用域是從定義開始到定義它的代碼塊結(jié)束;
成員變量:在方法體外,類體內(nèi)聲明的變量,又稱字段(Field)或全局變量;(其實Java中沒有全
局變量,由于Java是面向?qū)ο笳Z言,所有變量都是類成員)
成員變量的作用域是整個類中;
我的總結(jié):注意成員變量和局部變量的區(qū)別
packagereviewDemo;
publicclassDemo2{
publicstaticvoidmain(String[]args){
inti;
System.out.println(i);
}
)
備注:局部變量調(diào)用前沒有初始化,所以編譯的時候就會報錯!
packagereviewDemo;
publicclassDemo2{
staticinti;
publicstaticvoidmain(String[]args){
System.out.println(i);
)
備注:此時i為全局變量,未初始化會被賦予默認(rèn)的初始化值!程序正確!
我的總結(jié):
局部變量是定義在方法中的變量”,出了該方法就不能訪問該變量了.…
成員變量是在類中定義,”,并且在類的成員方法中都能訪問的變量..
13、基本數(shù)據(jù)類型
在數(shù)據(jù)類型中,最常用也是最基礎(chǔ)的數(shù)據(jù)類型,被稱作基本數(shù)據(jù)類型??梢允褂眠@些類型的
值來代表一些簡單的狀態(tài)。
Java語言的基本數(shù)據(jù)類型總共有以下8種,下面是按照用途劃分出的4個類別:
整數(shù)型:byte(字節(jié)型)、short(短整型)、int(整型)、long(長整型)
小數(shù)型:float(單精度浮點型)、double(雙精度浮點型)
字符型:char(學(xué)符型)
布爾型:boolean(布爾型)
定點類型:
整數(shù)型是一類代表整數(shù)值的類型。當(dāng)需要代表一個整數(shù)的值時,可以根據(jù)需要從4種類型
中挑選合適的,如果沒有特殊要求的話,一般選擇int類型。4種整數(shù)型區(qū)別主要在每個數(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
浮點類型:
小數(shù)型是一類代表小數(shù)值的類型。當(dāng)需要代表一個小數(shù)的值時,可以根據(jù)需要從以下2種
類型中挑選合適的。如果沒有特殊要求,一般選擇double類型。
由于小數(shù)的存儲方式和整數(shù)不同,所以小數(shù)都有一定的精度,所以在計算機(jī)中運算時不夠精
確。根據(jù)精度和存儲區(qū)間的不同,設(shè)計了兩種小數(shù)類型。
小數(shù)型參數(shù)表
類型名稱關(guān)鍵字占用空間(字節(jié))取值范圍默認(rèn)值
單精度浮點型float4-3.4E+38—3.4E+380.Of
雙精度浮點型double8-1.7E+308—1.7E+3080.0
字符型:
字符型代表特定的某個字符,按照前面介紹的知識,計算機(jī)中都是以字符集的形式來保存字
符的,所以字符型的值實際只是字符集中的編號,而不是實際代表的字符,由計算機(jī)完成從
編號轉(zhuǎn)換成對應(yīng)字符的工作。Java語言中為了更加方便國際化,使用Unicode字符集作為
默認(rèn)的字符集,該字符集包含各種語言中常見的字符。在程序代碼中,字符使用一對單引號
加上需要表達(dá)的字符來標(biāo)識,例
如‘A'、'a'等,當(dāng)然也可以直接使用字符編碼,也就是一個非負(fù)整數(shù)進(jìn)行表示。
字符型參數(shù)表
類型名稱關(guān)鍵字占用空間(字節(jié))取值范圍默認(rèn)值
字符型char2。到2的16次方減一'\u0000'(代表空格)
布爾型:
布爾型代表邏輯中的成立和不成立。Java語言中使用關(guān)鍵字true代表成立,false代表不成
立。布爾型是存儲邏輯值的類型,其實很多程序中都有邏輯值的概念,Java把邏輯的值用
布爾型來進(jìn)行表達(dá)。
布爾型參數(shù)表
類型名稱關(guān)鍵字占用空間(字節(jié))取值范圍默認(rèn)值
布爾型boolean1true或falsefalse
14、基本數(shù)據(jù)類型轉(zhuǎn)換之向上轉(zhuǎn)型和向下轉(zhuǎn)換
向上轉(zhuǎn)換:
整型,字符型,浮點型的數(shù)據(jù)在混合運算中相互轉(zhuǎn)換,轉(zhuǎn)換時遵循以下原則:
容量小的類型可自動轉(zhuǎn)換為容量大的數(shù)據(jù)類型;
byte,short,char-*intflong-*floatdouble
byte,shorl,char之間不會相互轉(zhuǎn)換,他們在計算時首先會轉(zhuǎn)換為int類型。
boolean類型是不可以轉(zhuǎn)換為其他基本數(shù)據(jù)類型。
Eg:
inti=123;
long1=i;〃自動轉(zhuǎn)換,不需強轉(zhuǎn)
floatf=3.14F;
doubled=f;
向下轉(zhuǎn)換:
整型,字符型,浮點型的數(shù)據(jù)在混合運算中相互轉(zhuǎn)換,轉(zhuǎn)換時遵循以下原則:
容量小的類型可自動轉(zhuǎn)換為容量大的數(shù)據(jù)類型;
byte,short,charfintflongffloatfdouble
byte,short,char之間不會相互轉(zhuǎn)換,他們在計算時首先會轉(zhuǎn)換為int類型。
boolean類型是不可以轉(zhuǎn)換為其他基本數(shù)據(jù)類型。
Eg:
long1=123L;
inti=(int)1;〃必須強轉(zhuǎn)
doubled=3.14;
floatf=(float)d;
我的總結(jié):類型轉(zhuǎn)化
小轉(zhuǎn)大,自動!自動類型轉(zhuǎn)換(也叫隱式類型轉(zhuǎn)換)
大轉(zhuǎn)小,強轉(zhuǎn)!強制類型轉(zhuǎn)換(也叫顯式類型轉(zhuǎn)換)
15、Java的運算符
運算符是一種特殊符號,用以表示數(shù)據(jù)的運算、賦值利比較等共分以下幾種:
算術(shù)運算符(+、一、*、/、%)
賦值運算符(=、+=、-=、*=、/=,、%=)
關(guān)系運算符(>、>=、<、<=、!=)
條件運算符(&&、II、!&、I、A)
位運算符(&、I、"、~、>>、<<、<?、?>)
我的總結(jié):
邏輯運算符用于連接布爾型表達(dá)式,在Java中不可以寫成3<x<6,應(yīng)該寫成x>3&x<6。
“&”和“&&”的區(qū)別:單與時,左邊無論真假,右邊都進(jìn)行運算;雙與時,如果左邊為
真,右邊參與運算,如果左邊為假,那么右邊不參與運算。
“I”和“II”的區(qū)別同理,雙或時,左邊為真,右邊不參與運算。
“A”與不同之處是:當(dāng)左右都為true時,“人"結(jié)果為false。
16、表達(dá)式和三目運算符
是山數(shù)字、運算符、數(shù)字分組符號(括號)等以能求得數(shù)值的有意義排列的序列;
a+b
3.14+a
(x+y)*z+100
booleanb=i<10&&(i%10!=0)
表達(dá)式的類型和值:
對表達(dá)式中操作數(shù)進(jìn)行運算得到的結(jié)果是表達(dá)式的值。
表達(dá)式值的數(shù)據(jù)類型即為表達(dá)式的類型。
表達(dá)式的運算順序
應(yīng)按照運算符的優(yōu)先級從高到低的順序進(jìn)行;
優(yōu)先級相同的運算符按照事先約定的結(jié)合方向進(jìn)行;
“三目運算符”,語法格式:
X?y:Z;
其中x為boolean類型表達(dá)式,先計算x的值,若為true,則整個三目運算符的結(jié)果是表達(dá)式
y的值,否則就是z的值。
packagereviewDemo;
publicclassDemo2{
publicstaticvoidmain(String[]args){
Strings=n1z**;
s=(s=="lz"?"正確":"錯誤");
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;〃最后這個一般不寫
)
備注:
case之間與default沒有順序。先執(zhí)行第一個case,都沒有匹配的case值執(zhí)行default。
結(jié)束switch語句的兩種情況:遇到break,switch語句執(zhí)行結(jié)束。
如果匹配的case或者default沒有對應(yīng)的break,那么程序會從第一次匹配的case語句開始
繼續(xù)向下執(zhí)行,運行可以執(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ù),而這個程序段落我們稱為循環(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特點是無論條件是否滿足,循環(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個表達(dá)式運行的順序,初始化表達(dá)式只讀一次,判斷循環(huán)條件,為真就執(zhí)行
循環(huán)體,然后再執(zhí)行循環(huán)后的操作表達(dá)式,接著繼續(xù)判斷循環(huán)條件,重復(fù)找個過程,直到條
件不滿足為止。
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個3的倍數(shù)的數(shù)字;
classwhile
(
publicstaticvoidmain(String[]args)
(
inti=l,k=0;
while(i<=100)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)公司融資合同范本
- 艙口蓋系統(tǒng)行業(yè)深度研究報告
- 化肥長期供貨合同范本
- 場地使用出租合同范本
- 事業(yè)單位聘用合同范本
- 共享叉車租賃合同范例
- 副食購買合同范本
- 充電樁維修合同范本
- 勞務(wù)法合同范本
- 加盟合同范本
- 戰(zhàn)略管理與倫理
- 如何構(gòu)建高效課堂課件
- 虛擬化與云計算技術(shù)應(yīng)用實踐項目化教程 教案全套 第1-14周 虛擬化與云計算導(dǎo)論-騰訊云服務(wù)
- 甲基丙烯酸甲酯生產(chǎn)工藝畢業(yè)設(shè)計設(shè)備選型與布置模板
- 徐金桂行政法與行政訴訟法新講義
- 瀝青拌合設(shè)備結(jié)構(gòu)認(rèn)知
- 2023年北京高考政治真題試題及答案
- 復(fù)旦中華傳統(tǒng)體育課程講義05木蘭拳基本技術(shù)
- 北師大版五年級上冊數(shù)學(xué)教學(xué)課件第5課時 人民幣兌換
- 工程回訪記錄單
- 住房公積金投訴申請書
評論
0/150
提交評論