Java的基本知識java
這部分自行百度,百度百科會有詳細解釋,瞭解java語言的特色,編程
JDK是整個java開發的核心,它包含了JAVA的運行環境(JVM+Java系統類庫)和JAVA工具。api
jre:java的運行環境 。運行JAVA程序所必須的環境的集合,包含JVM標準實現及Java核心類庫。數組
jvm:java虛擬機,計算機設備的規範,是一個虛構出來的計算機安全
jcp: 是一個開放的國際組織,由Java開發者以及被受權者 發展和更新多線程
api:應用程序的編程接口 預先定義的函數jvm
提供應用程序與開發人員基於某軟件或硬件訪問數據的能力,而又無需訪問源碼;無需瞭解內部工做細節分佈式
oop:Object Oriented Programming 面向對象編程函數
ooa:Object-Oriented Analysis 面向對象分析方法工具
ood: Object-Oriented Desig 面向對象設計
其主要做用是對OOA分析的結果做進一步的規範化整理,以便可以被OOP直接接受。
Java 特色面向對象 簡單 分佈式 健壯性 安全 可移植 多線程 動態性 編譯和解釋性 高性能
Java的變量
Java的變量,java中的變量主要包括8種,byte short int long char double float Boolean
相關的封裝類型 長度及範圍以下:
數據類型 |
內存 |
封裝類型 |
範圍 |
byte |
8位 |
Byte |
-128 127 |
short |
16位 |
Short |
32767 -32768 |
int |
32位 |
Integer |
2147483647 -2147483648 |
long |
64位 |
Long |
-9223372036854775808 9223372036854775807 |
浮點類型
數據類型 |
內存 |
封裝類型 |
|
float |
32位 |
Float |
1.4E-45 3.4028235E38 |
double |
64位 |
Double |
4.9E-324 1.7976931348623157E308 |
** long定義時在後面添加上L l
** float定義時在後面添加上F f
** double定義時在後面添加上D d
char
數據類型 |
內存 |
封裝類型 |
char |
16位 |
Character |
放在單引號內 存放unicode 能夠與unicode的編碼相互轉換
A=65 ; Z=90
a=97 ; z=122
boolean
數據類型 |
內存 |
封裝類型 |
boolean |
8位 |
Boolean |
直接賦值和邏輯判斷賦值
還有一中數據類型,String 但string不是基本數據類型,
變量名
變量先聲明,賦值,再使用(類中實例變量不用,在建立對象時,會初始化爲相關數據類型的默認值,方法裏的局部變量必須先聲明才能使用)
變量名:只能有字母 數字 下劃線 $ 組成,不能以數字開頭,不能使用關鍵字做爲變量名,變量名小駝峯,第一個字母小寫,後邊大寫
變量類型的轉換,由低轉高,高轉低會丟失精度,char 類型與整型的轉換,
常量 final 一次賦值不能更改 常量名大寫單詞使用下劃線隔開
Static 使用類名調用,也可使用對象調用 關於static的機制這裏很少作說明,後邊可能回詳細介紹
在java中的運算符分爲如下幾種
算術運算符: + - * / % ++ -- += -= *= /= %= >> <<
自增(自減)運算在表達式中的 的前後循序 i++ 先使用i的值
++i,i先執行運算,再執行外圍表達式
關係運算符 < > <= >= != == 運算結果是一個boolean類型的結果
邏輯運算符
&& & 與 &&具備短路效果 第一個表達式爲false,就不會執行第二個表達式
|| | 或 ||具備短路效果 第一個表達式爲true,就不會執行第二個表達式
!
三元運算符:
A?b:c A 語句 爲真 返回b 不然c
流程控制,if語句 和switch語句
if(condition){……} /if(condition){……}else{……}/ if(condition){……}else if(){……} else{……}
開關語句 switch (){case ……;break;default ……;break;}
沒有break;會執行下一句,直到break語句
default的位置無關
case: 表達式惟一
switch 語句中的變量類型能夠是: byte、short、int 或者 char。從 Java SE 7 開始,switch 支持字符串類型了,同時 case 標籤必須爲字符串常量或字面量。
循環for循環 while(condition){….} do{…..}while(condition);
For([起始條件];[循環條件];[步長]){
…..}
起始條件,循環條件,步長可能沒有表達式,一個或多個
While與do while的條件都是一個結果爲boolean的表達式,
do while,先執行一次循環體
在java中,類封裝了屬性和方法來描述一類事物的特性和行爲,經過類的實例化來建立對象.
權限修飾符 class [className]{
//屬性
//方法
}
構造方法,jvm會默認提供一個無參的構造方法,用戶自定義其餘有參的構造方法時須要寫出無參構造
類名 對象=new 類名();
對象.屬性;//賦值或訪問
對象.方法;//調用方法
類與對象的關係:
類是對象的類型;
對象是類的實例
類是模板;對象是模板建立的副本
一個類建立的對象:彼此不共享(static 修飾的變量全部對象共享)
new是的對象的實例化
屬性:屬性是對類型的特徵描述;本質上是變量;由類進行封裝(打包)
this 在構造方法間相互調用,可是自能在第一行,
this 表明當前對象,能夠調用其餘實例方法,在方法中解決 全局變來量與局部變量的重名問題,
方法重載
static修飾符的含義相關知識
static的含義:在java的類的加載過程當中經過static關鍵字,告知內存分配機制進行優先分配內存地址(空間),便可以提早獲取內存地址
相關知識
不只能夠修飾方法和變量;還能夠修飾代碼塊同時代碼塊只執行一次(初始化)
可使用類名直接調用類方法或者類變量
傳統方式使用對象名調用 :對象名.方法();對象名.屬性方法()
直接方式:類名.方法();類名.屬性方法
static不能修飾局部變量
通常狀況下、 類方法不能訪問實例變量 也能訪問實例方法
通常狀況下、實例方法中不推薦使用類變量
抽象類和抽象方法特色,關係
方法的重寫知足條件
如何使用super調用父類的屬性、方法、構造方法
首先、子類具備調用父類屬性、方法的權限
使用關鍵字 super調用父類的元素
super.屬性名 》》》super.name
super.方法名(形參列表)
※ super() 或 super(形參列表) //調用構造方法時,必須放在子類構造方法的第一行 調用的是(直接)父類的構造方法 有時 能夠省略
public EmpDaoImpl extends Object implements EmpDao1 ,EmpDao2{……}
接口的特性
在繼承的條件下:具備多種行爲(形態)表現的集合特徵
實現多態
繼承的存在
子類重寫父類的方法
向上轉型
定義方法時、形式參數類表類型的定義;推薦使用父類(object)類做爲形式參數的類型
定義方法時、返回值類型的定義:推薦使用父類(Object)做爲返回值類型或者Object[](對象數組)
判斷一個對象是否屬於某個類(型)或接口的引用
通常狀況下結合邏輯判斷語句使用,返回boolean類型
if(對象名 instanceof 類){
}
else{
}
好處:體現代碼的健壯性一般與強制類型轉換