第一章:初識java
1.1.java的概述
ü 什么是計算機程序:計算機按照某種順序而完成的一系列有序指令的集合。
ü Java的作用:1:安裝和運行本機上的桌面程序。2:通過瀏覽器訪問面向internet的應用程序
ü Java技術平台:1.java SE是java的核心2.java EE主要用於網絡程序和企業應用開發。
1.2.開發一個java程序
n 開發java程序的步驟:
- 編寫源程序
- 編譯源程序
- 運行程序
n Java程序的結構
- 編寫程序框架(public class HelloWorld{})
- 編寫main()方法的框架(public static void main(String[] args){})
- 編寫代碼(Syetem.out.println(“HelloWorld”);)
Java程序的注釋
- 單行注釋(//開頭后面的被視為注釋)
- 多行注釋(/*、、、內容、、、、、、*/)
- 文檔注釋(/**、、、、、內容、、、、*/)用於程序開始
n Java編碼規范
ü 類名必須是public
ü 一行一條語句
ü 用{}括起來的部分表示層次結構,{一般放在行末,}與該結構首字母對齊,獨占一行。
ü 低一層的代碼應該比高一層的縮進若干個空格。
ü 類名與文件名一樣
ü Viod必不可少
ü 注意大小寫
ü ;必須有
ü .必須有
1.3. MyEclipse的基本使用
步驟y:
ü 創建一個java項目
ü 編寫java源程序
ü 編譯java源程序
ü 運行java程序
第二章:變量、數據類型和運算符
2.1.變量和數據類型
n 變量:是存儲數據的基本單元,相互獨立
n 數據類型:1.int(整型)2.double(雙精度浮點型)3.char(字符型)4.String(字符串)5.boolean布爾類型(判斷型)
n 變量必須先聲明賦值才能使用 (數據類型 變量名=值)
n 變量命名規則
ü 首字母:小(首字母小寫)下(可以含有下划線)美(可以含有$符號)
ü 其它的字母:小、下、美、數字
ü 不能使用java關鍵字
2.2.運算符
n 賦值運算符
=就是我們所學的賦值運算符
n 算數運算符
+、-、*、/、%(%就是求余)(/就是求商)
n 關系運算符
>/</>=/<=/==/!=/(!=不等於)(==等於)
2.3數據類型轉換
n 自動類型轉換
² 數據類型要兼容
² 目標類型大於原類型
n 強制類型轉換
目標類型小於源類型
\t(縮進)
\n(將光標移到下一行第一格)
運算符的優先級:
最高的優先級:()
最低的優先級:賦值運算符(=)
優先級順序:算數運算符>關系運算符>邏輯運算符
第三章:選擇結構(一)
3.1.if選擇結構
3.1.1:為什么需要if結構
有時候需要先判斷,再輸出,所以會用到if選擇結構
3.1.2:什么是if選擇結構
更具條件判斷再做處理的一種語法結構。
語法: if(條件){
代碼塊
}
運算符:
&& |
與,並且 |
必須兩條同時為真,結果才為真 |
|| |
或,或者 |
只需要一條為真,結果就為真 |
! |
非 |
條件為真,結果為假。(剛好相反) |
3.2.多重if選擇結構
語法: if(條件1){
}else if(條件2){
}else if(條件3){
}else{
}(注意空行處,為代碼塊)
3.3.嵌套if選擇結構
語法 if(條件1){
If(條件2){
}else{
}
}else{
}(空行處,為代碼塊)
第四章:選擇結構(二)
4.1.switch選擇結構
4.1.1:為什么使用switch選擇結構
因為switch選擇結構可以方便的解決等值判斷的問題
4.1.2:什么是switch選擇結構
語法: switch(表達式){
case 1:
(空行處為代碼塊) break;
case 2:
break;
default:
break;
}
Switch |
表示開關, |
Case |
表示情況,情形 |
Default |
表示默認 |
Break |
表示停止 |
注意:break,不能省略,否則會全部執行程序
4.2.選擇結構總結
If選擇結構 |
處理單一組合或條件 |
多種if選擇結構 |
處理復雜的分支情況 |
If else選擇結構 |
處理簡單的分支情況 |
嵌套選擇結構 |
用於叫復雜的情況 |
第五章:循環結構(一)
5.1循環結構
5.1.1:什么是循環結構
反復進行相同或類似的操作!!
5.2while循環結構
5.2.1什么是while循環結構
While循環結構一般是:先判斷,再執行
語法: while(循環條件){
}(上面空行表示代碼塊)
循環結構執行順序:
聲明初始化循環變量
判斷條件是否滿足,滿足執行操作,否則退出
執行完操作后,再判斷循環條件,決定繼續執行還是退出
循環結構使用步驟
分析循環條件和循環操作
套用while語法寫出代碼
檢查能否退出
5.3程序調試
什么是程序調試:
滿足暫停程序,觀察變量和逐條執行語句功能的工具盒方法總稱
步驟:
分析錯誤,設置斷點
啟動調試,單步執行
觀察代碼運行情況
5.4 do-while循環結構
什么是do while?
Do 循環關鍵字在前面,然后是大括號的循環操作,接着是while關鍵字后的循環條件,do while 一分號結束。。
Do while是先執行一次,再判斷、
語法 do{
}while(條件);(中間空行處為代碼塊)
Do while步驟:
分析循環條件和循環操作
套用do while語法寫出代碼
檢查能否退出
第六章:循環結構(二)
6.1 for循環結構
為什么需要for循環
在解決固定的循環次數,而且看上去更加簡潔
For循環結構的結構:
初始部分:循環的初始狀態
循環體:重復循環的操作
迭代部分:循環次數的累加,下一次開始需要執行
循環條件:判斷是否繼續循環操作
語法:
For(表達式1 表達式2 表達式3){
//循環體
}
表達式一 |
賦值語句,循環條件初始部分 |
表達式二 |
條件語句,循環結構的循環條件 |
|
|
表達式三 |
賦值語句,通常i++或i--。迭代部分 |
6.2跳轉語句
Break語句:
Break語句用於終止某個循環,使程序調到循環體外,在循環體中在break后的語句不在執行,循環停止
使用場合:可以用於任何循環結構,還可以用於switch選擇結構中
Continue:
Continue 只用於循環結構中。。
Continue順序 語句跳出本次循環,進入下一次循環。
6.3循環結構總結
循環結構必不可少的部分:
初始部分
循環條件(缺少一個循環都可能好粗問題)
循環體
迭代部分
執行順序不同
While:先提條件判斷 然后執行循環體 如果不成立,退出
Do while:先執行循環體一遍,再條件判斷,循環至少一次
For:先執行初始部分,再 條件判斷,然后執行循環體,最后在進行迭代部分計算,如果不成立,跳出循環體
第八章:數組
8.1數組的概述
8.1.1為什么需要數組:
因為數組可以存放許多相同的數據類型!!編寫程序時省去了很多代碼量!!
8.1.2java中的數組:
在java中,數組就是一個變量,用於將相同的數據類型的數據存儲在內存中,數組中每個元素都是相通的數據類型
數組就是在內存中划分一串連續的空間!!
數組的基本要素:
1.標識符:就是數組的名稱,用於區分不同的和數組。
2.數組元素:數組中存放的數據。
3. 數組下標:在數組中為了准確的的到下標,我們對數組的元素進行標號,這個編號就是數組下標。
4.元素類型:存儲在數組中應該是同一種類型,因此成為元素類型。
8.2如何使用數組
8.2.1使用數組的步驟:
聲明數組
分配空間
賦值
對數組進行使用和處理
聲明和數組的語法: @數據類型[] 數組名 @數據類型 數組名[]
分配空間的語法: 1數組名=new 數據類型[數組長度] 2數據類型[] 數組名=new 數據類型[數組長度]
賦值的語法: 數據類型[] 數組名={元素1 元素2 元素3}
再循環中,循環變量i從0開始遞增直到達到數組的最大長度,每次循環加1.。。
數組的下標是從0開始
數組的下標最大比元素的個數值小1
8.3數組的應用
8.3.1數組的排序
語法:Arrays.Sort數組名)
注意:排序時,必須在類上面導入這個類:import java..util..Arrays
注意:在排序之前加上 Arrays.sort(數組名) 就可以完成升序排列了
8.3.2數組的最大值:
先聲明一個變量,然后再數組中隨便找一個來把值賦給這個變量,然后再通過循環把其余元素一個一個的和它比較,然后如果這個變量值小於數組中的元素就把這個元素值賦給它,直到循環結束
8.3.3想數組中插入元素:
首先聲明一個長度比此前大一的數組,然后給它的元素賦值,把最后面那個空着,輸入新增的成績,通過循環把這個和里面的全部比較一次,入過輸入的比他大,就把它的下標值給它,跳出,然后再把它后面的元素通過循環來后移。然后再插入此變量。然后通過循環輸出就可以了
第九章:循環結構的進階
9.1二重循環的結構
9.1.1:為什么使用二次循環
因為循環可以解決很多從回復的動作,達到需求。
9.1.3什么是二重循環:
二重循環就是一個循環體內包含另一個完整的循環結構。循環結構可以隨便嵌套!!!!
循環結構外層稱為外層循環,內部稱為內層循環,二重循環 外層循環一次,內層全部循
環。。。
9.1.4;如何使用二重循環
二重循環打印圖形 一般外層循環控制行數,內層循環控制每行的數目
9.2跳轉語句的進階
9.2.1在二重循環中使用continue語句
循環時,continue跳出本次循環,進行下一次循環(還是執行本層循環)
9.2.2在二重循環中使用break語句
跳出本層循環,可能會執行寧外一層循環
9.2.3continue與break的對比
他們在內層時,只會影響到內層循環,對外層沒有任何影響,他們不同在於跳轉位置不同;
Continue: 跳出本次,進行下一次
Break 跳出本層循環,提前結束本層循環,執型循環下面的語句
第十一章:類和對象
11.1對象
11..1.1身邊的對象:
現實世界什么東西都可以看做對象。。。 萬物皆對象
11.1.2對象的屬性和方法
屬性 對象的靜態特征可以看做屬性
方法 對象的動態特征可以看做方法
對象::是用來描述客觀事物的一個實體,由一組屬性和方法組成
11.1.3封裝
封裝就是把一個事物包裝起來。並盡可能的隱藏細節
對象也具有封裝性
11.2類
11.2.1類核對象 的關系
在java面向對象編程中,類是拿來創建類的實例,這個實例就是對象
他們之間的關系就是具體與抽象的關系,,,類是多個對象綜合抽象而成的結果,是實體對象的概念模型!!
11.2.2類是對象的類型|:
類是對象的類型 定義類就可以抽取同類實體的功效自定義一種數據類型!!!
11.3java是面向對象的語言
11.3.1java類模板
語法: public class 類名{
//定義和屬性
屬性一的類型 屬性1
屬性二的類型 屬性2
定義方法部分
方法1
} 方法2
類的命名規則:
- 不能使用java關鍵字
- 不能包含任何空格或“.”以及除下划線—和$符號
- 不能以數字開頭
類名通常以多個單詞組合而成的每個單詞的首字母大寫
11.3.2如何定義類
類定義了對象將會擁有的屬性和方法
定義類語法: public class 類名{
}
定義類的步驟:
定義類名
編寫類的屬性 (又名 成員變量)
編寫類的方法
定義方法的語法:
Public 返回類型 方法名(){
方法體
}
11.3.3如何創建使用對象
用類來創建對象,,,由類生成對象,成為類的實例話過程,一個類可以生成多個對象,一個實例就是一個對象
語法: 類名 對象名=new 類名();
調用方法和屬性的方法如下:
對象名.屬性(掉用屬性)
對象名.方法()(調用方法)
Main方法是程序的入口。沒有就不能執行
11.3.5面向對象的優點
與人類思維一致,從人的思維角度出發,用對象來模擬現實的實體
信息隱藏:提高了程序的可維護性和安全性,封裝實現了信息的隱藏和模塊化。
提高了程序的可重用性:一個類可以創建多個對象實例,增強重用性!!!
第十二章:類的無參方法
12.1類的方法概述
12.1.1什么是類的方法
類是由具有一組相同屬性和共同行為的實體抽象而來的
12.1.2如何定義類的方法
方法的名稱
方法的返回值
方法的主體
語法:public 返回值類型 方法名(){
} //方法的主體
編寫方法的注意事項:
方法體放在一對大括號中,方法體就是一段程序代碼,完成一段工作。
方法名主要在調用這個方法時使用,在java中一般采用駱駝命名法。
方法執行后可能返回一個結果,該結果的類型稱為返回值類型。使用return返回值。
n Return:打斷正在執行的方法,就是說return后面的代碼不會執行。
12.1.3:方法的調用
n 在程序中通過使用方法名稱從而執行方法中包含的語句,這一過程就叫方法的調用。
語法: 對象名.方法名()!!
當調用其他類的方法時,需要先創建對象,然后再調用方法。。。
當調用本類的方法時,不須創建對象,直接調用對象。。。
Return 后面只能跟一個變量
錯誤:
- 方法的返回值類型為void時,后面不能用return!!
- 方法不能返回多個值
- 多個方法不能相互嵌套!!
- 不能在方法外部直接寫邏輯程序代碼!
12.2變量的作用域
在類中定義的變量:叫成員變量 成員變量作用域整個類中
在方法或結構體類定義的變量稱為局部變量 局部變量作用域當前結構
初值不同:成員變量有初值 局部變量沒有初值 ,必須先賦值在使用
注意:
在同一個方法中,不允許有相同的局部變量。在不同的方法中,可以有同名的局部變量。
局部變量可以和成員變量同名,並且在使用時,局部變量具有更高的優先級
12.3面向對象編程的優點
面向對象編程主要有重要性,靈活性,和擴展性,作用強大!!!
面向對象基本的原則是計算機由單個能起到作用的子程序組合而成的!!
12.4javaDoc的注釋
12.4.1javadoc是什么??
它能夠崇源代碼中抽取類,,方法,,成員等注釋!!形成一個和源代碼配套的api幫助文檔(簡單的說就是介紹該類,累的方法,和成員變量的文檔)是在編寫程序的一套特色的標簽作為注釋!!javadoc就是可以生成程序的開發文檔!
語法:
JavaDoc是以注釋/**開頭,,以*/結尾的!
每個注釋包含一些描述性的文本及若干個javadoc標簽!
12.4.2如何生成javaDoc文檔
使用命令方式生成!
使用myeclise工具生成!! Flie Export java javadoc
第十四章:帶參的方法
14.1帶參方法
14.1.1定義帶參方法
參數是調用者提供給定義類的這邊的!!
語法:《訪問修飾符》 返回值類型 《方法名》(參數列表){ 方法的主體
}
注釋:訪問修飾符:指該方法的權限范圍(public protected private)public 的權限最大!!!
返回值類型:方法的返回值的類型,如果沒有任何返回值就加void類型!如果有返回的話, 用return來接收!
方法名:就是定義方法的名字!必須是合法的標示符!
參數列表:指傳送給方法的參數列表,列表可以是用逗號隔開!
14.1.2:調用帶參方法與調用無參方法的語法相同,但是調用帶參方法時必須傳入實際的參數值。
語法: 對象名.方法名(參數1,參數2,參數3)
形參和實參:形參是在定義的時候對參數的稱呼!目的是定義方法需要傳入的參數的類型,實參是在調用方法的時候的值參數稱呼!
調用方法時,注意:先示例化對象,再調用方法,
實參的類型,數量,順序要與形參一一對應!!
14.1.3:帶多個參數的方法
數據類型和個數和順序一一對應!!
14.2深入理解帶參方法
參數可以是單個參數,還可以是數組,還可以是對象!
14.3包
14.3.1:為什么需要包
為了防止文件名一樣引起的沖突!!放在不同的包中就避免了沖突了!
作用:
可以將類組成較小的單元,易於查找和使用相應的文件!
防止命名沖突,可以在不同的包中進行存儲!
包允許在更廣的范圍保護類,數據和方法,在包類定義類,包外的代碼可能不能訪問。
14.3.2:如何聲明包 前面必須包含一個package的命令作為java源文件的第一條語句!
語法: package 包名
14. 3.3:使用myeclipse創建包
1.分別創建包和類 file new package new java package添加!
2.在創建類的過程創建包 首先創建項目,然后直接創建類,然后添加包!
14.3.4:包和目錄的關系
包的嵌套反應了文件系統的目錄層次!聲明包事實上是在文件系統中創建了相應的一層一層文件夾!而類的文件就是存儲在最內層的。
14.3.5:如何導入包
關鍵字:import在最前面+包名.類名/import+包名.*;
第十五章:字符串
15.1字符串的概述
字符串是一系列字符的組成的序列。
步驟:
定義並初始化字符串
使用字符串,對字符進行一一處理。
15.1.2:字符串的長度:
語法: 字符串.length();
15.1.3字符串的比較
語法:
字符串1.equals.字符串2 區分大小寫的!!!
返回的是個布爾類型的值(true/false)
==比較的是內存首地址是否相同,equals比較的是具體的值。(更精確)
字符串1.equalsIgnoreCase(字符串2) 不區分大小寫的!!
方法:
ü To lowercase(); 轉換字符串為小寫
ü ToUpperCase(); 轉換字符串為大寫
15.2復雜的字符串處理
15.2.1:字符串的連接
直接用加號(+)連接
字符串1.concat(字符串2)
15.2.2字符串的提取和查詢(方法)
Indexof(int+要搜索的字符) 找到第一個出現此字符的坐標
Indexof(String +變量名) 找到第一個出現此字符的坐標
LastIndexof(int +字符)找到最后一個出現此字符的坐標
LastIndexof(String +字符)找到最后一個出現此字符的坐標
String substring(int index)提取從此位置開始的字符
String substring(index beginindex ,index endindex)提取begin位置到end位置的字符!!
String trim() 返回一個前后不含有任何空格調用的字符(忽略空格和其他符號)
15.2.3:字符串的拆分:
語法: 字符串1.split(””);
步驟:先創建一個數組,要么賦值要么先聲明,然后用這個數組來接收這個 源字符串.spilt(“”);
15.3 StringBuffer類
15.3.1:如何使用StringBuffer類
它是String類的增強版,位於java.lang包中
步驟:
聲明StringBuffer對象並初始化
使用StringBuffer對象
15.3.2常用的Stringbuffer類的方法
字符串.tostring(); 將StringBuffer類型的字符串轉化為String對象並返回! 例:String s1=sb2(Stringbuffer).tostring();
方法; 字符串1.append.(字符串2); 將字符串2鏈接到字符串一后並返回!!
字符串1. insert() (位置,參數); 將參數插入到字符串1的指定位置后並返回,參數可以包括String的任何類型(什么都可以)
方法:總結
獲得字符串長度:length();
比較字符串:equals();
鏈接字符串:concat();
提取字符串:substring();
搜索字符串:indexof();
拆分字符串:spilt();
Stringbuffer類型:
轉換成String類型: tostring();
連接字符串: append();
插入字符串: insert();