java SE理論

Java入門 變量 運算符

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不能修飾局部變量

通常狀況下、 類方法不能訪問實例變量 也能訪問實例方法

通常狀況下、實例方法中不推薦使用類變量

 

繼承

  • 在代碼上使用extends實現繼承關係
  • 子類在前 父類在後 public class 子類 extends 父類
  • 繼承具備傳遞性
  • 在java中,Object是左右類的祖先,通常狀況下稱爲超類或基類,全部子類直接或間接的繼承Object類;
  • 子類不能繼承父類的私有’財產‘(private)
  • 不能繼承父類的構造方法

抽象類和抽象方法特色,關係

  • 使用abstract修飾的類是抽象類,使用abstract的方法抽象方法
  • 抽象類不能實例化,不能建立對象,但有構造方法
  • 抽象類與是否存在抽象方法無關
  • 抽象類存在子類,並子類從新是抽象類中的抽象方法,子類必須所有重寫父類的全部抽象方法,不然子類必須定義爲抽象類
  • 抽象方法:只有方法名,沒有方法體;沒有功能的具體實現
  • 兩者的關係:抽象類中不必定含有抽象方法;抽象方法存在於抽象類或接口中

方法的重寫知足條件

  • 方法的重寫基於繼承的條件下
  • 子類根據開發需求重寫(覆蓋)父類的方法
  • 重寫知足要求
    • 重寫的方法名與被重寫的方法名一致
    • 參數列表也相同
    • 返回值類型相同,或者是其子類
    • 權限修飾不能縮小 (public >protected>default>private)

如何使用super調用父類的屬性、方法、構造方法

首先、子類具備調用父類屬性、方法的權限

使用關鍵字 super調用父類的元素  

super.屬性名 》》》super.name

super.方法名(形參列表)

※  super()   或 super(形參列表) //調用構造方法時,必須放在子類構造方法的第一行 調用的是(直接)父類的構造方法     有時 能夠省略

接口

  1. 自定義一個實現類,使用implement可接多個接口名稱,使用「,」號隔開
  2. 推薦該實現類實現全部接口中的全部抽象方法,不然將實現類定義爲抽象類
  3. 一個類在實現一個接口或多個接口的同時也能夠繼承一個類;

public EmpDaoImpl extends Object implements EmpDao1 ,EmpDao2{……}

接口的特性

  • 接口支持默認和public兩種權限
  • 接口的命名規範與類相同
  • 接口能夠繼承(extend)一個或多個接口(使用逗號分隔),但不能繼承類
  • 接口中不能定義變量,只能定義常量 (系統默認會加上 public final static )
  • 接口中的方法都是全局抽象方法(系統默認添加
  • 根據JDK的版本、動態決定接口的新特性
  • 1.8後接口能夠定義實例方法 使用default修飾,
  • 接口中只能定義常量,默認添加public final static

 

多態

在繼承的條件下:具備多種行爲(形態)表現的集合特徵

實現多態

繼承的存在

子類重寫父類的方法

向上轉型

    定義方法時、形式參數類表類型的定義;推薦使用父類(object)類做爲形式參數的類型

定義方法時、返回值類型的定義:推薦使用父類(Object)做爲返回值類型或者Object[](對象數組)

判斷一個對象是否屬於某個類(型)或接口的引用

通常狀況下結合邏輯判斷語句使用,返回boolean類型

if(對象名 instanceof 類){

 

}

else{

}

好處:體現代碼的健壯性一般與強制類型轉換

相關文章
相關標籤/搜索