java學習 ————— 基本類型的封裝類

3.1基本類型的封裝類

1.封裝類

Java語言認爲一切皆爲對象。

8個基本數據類型也應該具備對應的對象。

通過封裝類可以把8個基本類型的值封裝成對象進行使用。

JDK1.5開始,java允許將基本類型的值直接賦值給對應的封裝類對象。

 

 

 

2.封裝類的作用

 將字符串的值轉換爲基本類型

 1)直接調用封裝類的構造方法,即XXXString s)構造方法

 2)調用封裝類提供的parseXXXString s)靜態方法

 

 

3.2Object類

Java基礎類庫提供了一些常用的核心類,包括objectstringmath等。其中,object對象類定義在java.long包中,是所用類的頂級父類,在java體系中,所有類都直接或間接的繼承了object類。因此,任何java對象都可以調用object類中的方法 ,而且任何類型的對象都可以賦給object類型的變量。

Equals()方法

兩個基本類型的變量比較是否相同時直接使用==”運算符即可,但兩個引用類型的對象比較是否相等時則有兩種方式:

(1)“==”運算符比較的是兩個對象地址是否相同 ,即引用的是同一個對象。

(2)Equals()方法通常用於比較兩個對象的內容是否相同 。

 

toString方法

Object類的toString方法是一個非常特殊的方法,他是一個“自我描述”的方法,該方法返回當前對象的字符串表示。


3.3字符串類

1.String類常用方法

 

1length() 字符串的長度

  例:char chars[]={'a','b'.'c'};

String s=new String(chars);

int len=s.length();

 

2charAt() 截取一個字符

  例:char ch;

ch="abc".charAt(1); 返回'b'

 

3getChars() 截取多個字符

void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)

sourceStart指定了子串開始字符的下標,sourceEnd指定了子串結束後的下一個字符的下標。因此, 子串包含從sourceStartsourceEnd-1的字符。接收字符的數組由target指定,target中開始複製子串的下標值是targetStart

  例:String s="this is a demo of the getChars method.";

char buf[]=new char[20];

s.getChars(10,14,buf,0);

 

4getBytes()

  替代getChars()的一種方法是將字符存儲在字節數組中,該方法即getBytes()

 

5toCharArray()

 

6equals()equalsIgnoreCase() 比較兩個字符串

 

7regionMatches() 用於比較一個字符串中特定區域與另一特定區域,它有一個重載的形式允許在比較中忽略大小寫。

boolean regionMatches(int startIndex,String str2,int str2StartIndex,int numChars)

boolean regionMatches(boolean ignoreCase,int startIndex,String str2,int str2StartIndex,int numChars)

 

8startsWith()endsWith()startsWith()方法決定是否以特定字符串開始,endWith()方法決定是否以特定字符串結束

 

9equals()==

equals()方法比較字符串對象中的字符,==運算符比較兩個對象是否引用同一實例。

  例:String s1="Hello";

String s2=new String(s1);

s1.eauals(s2); //true

s1==s2;//false

 

10compareTo()compareToIgnoreCase() 比較字符串

 

11indexOf()lastIndexOf()

indexOf() 查找字符或者子串第一次出現的地方。

lastIndexOf() 查找字符或者子串是後一次出現的地方。

 

12substring()  它有兩種形式,第一種是:String substring(int startIndex)

第二種是:String substring(int startIndex,int endIndex)

 

13concat() 連接兩個字符串

 

14 replace() 替換

  它有兩種形式,第一種形式用一個字符在調用字符串中所有出現某個字符的地方進行替換,形式如下:

String replace(char original,char replacement)

  例如:String s="Hello".replace('l','w');

  第二種形式是用一個字符序列替換另一個字符序列,形式如下:

String replace(CharSequence original,CharSequence replacement)

 

15trim() 去掉起始和結尾的空格

 

16valueOf() 轉換爲字符串

 

17toLowerCase() 轉換爲小寫

 

18toUpperCase() 轉換爲大寫

 

 

2.Stringbuffer類的用法

 

StringBuffer構造函數

StringBuffer定義了三個構造函數:

StringBuffer()

StringBuffer(int size)

StringBuffer(String str)

StringBuffer(CharSequence chars)

  

(1)、length()和capacity()

  一個StringBuffer當前長度可通過length()方法得到,而整個可分配空間通過capacity()方法得到。

  

(2)、ensureCapacity() 設置緩衝區的大小

void ensureCapacity(int capacity)

 

(3)、setLength() 設置緩衝區的長度

void setLength(int len)

 

(4)、charAt()和setCharAt()

char charAt(int where)

void setCharAt(int where,char ch)

 

(5)、getChars()

void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)

 

(6)、append() 可把任何類型數據的字符串表示連接到調用的StringBuffer對象的末尾。

    例:int a=42;

StringBuffer sb=new StringBuffer(40);

String s=sb.append("a=").append(a).append("!").toString();

 

(7)、insert() 插入字符串

StringBuffer insert(int index,String str)

StringBuffer insert(int index,char ch)

StringBuffer insert(int index,Object obj)

index指定將字符串插入到StringBuffer對象中的位置的下標。

 

(8)、reverse() 顛倒StringBuffer對象中的字符

StringBuffer reverse()

 

(9)、delete()和deleteCharAt() 刪除字符

StringBuffer delete(int startIndex,int endIndex)

StringBuffer deleteCharAt(int loc)

 

(10)、replace() 替換

StringBuffer replace(int startIndex,int endIndex,String str)

 

(11)、substring() 截取子串

String substring(int startIndex)

String substring(int startIndex,int endIndex)


3.4scanner類

1.包:

import Java.util.Scanner

2.使用方法:

Scanner reader=new Scanner(System.in);    

然後reader對象調用下列方法(函數),讀取用戶在命令行輸入的各種數據類型:  

nextByte(),nextDouble(),nextFloat,nextInt(),nextLine(),nextLong(),nextShort()    



3.5繼承與多態

1.繼承

一個類可以繼承另外一個類

被繼承的類通常稱爲“父類”、“超類”、“基類”

繼承者稱爲子類。

繼承通過extends”關鍵字來實現

語法:

【訪問符】【修飾符】class 子類 extends 父類{}

Object類是所有類的頂級父類,在java中,所有類都是直接或間接的繼承了object類 。

Java只支持單一繼承。

實例化一個子類對象時,會先調用父類構造函數進行初始化,再調用子類自身的構造方法進行初始化,即構造方法的執行次序是:父類---->子類

 

2.多態

多態通常體現在具有繼承關係和實現關係的類之間,一個父類具有多個子類,可以將子類對象直接賦值給一個父類引用變量,無需任何類型轉換。

子類重寫父類的方法也是java多態性的一種體現。當子類繼承父類時,如果父類的方法無法滿足子類的需求,子類可以對父類中的方法進行改造,這種情況稱爲“方法的重寫”

 

 

3.Super

Super關鍵字代表父類對象,其主要用途如下:

在子類的構造方法中調用父類的構造方法

在子類方法中訪問父類的屬性或方法



3.6接口

接口定義了某一批所需要遵守的公共行爲規範,只規定這批類必須提供的某些方法,而不提供任何實現。接口體現的是規範和實現分離的設計哲學。讓規範和實現分離正是接口的好處,讓系統的各模塊之間面向接口耦合,是一種松耦合的設計,從而降低各模塊之間的耦合,增強系統的可擴展性的可維護性。

Java只支持單一繼承,不支持多重繼承,即一個類只能繼承一個父類,這一缺陷可以通過接口來彌補。Java允許一個類實現多個接口,這樣使程序更加靈活、易擴展。

語法:

【訪問符】interface 接口名{}

一個接口可以繼承多個父接口,但接口只能繼承接口。

在接口體裏可以包含靜態常量、抽象方法、內部類、內部接口以及枚舉的定義,從java 8開始允許接口中定義默認方法、類方法。

與類的默認訪問符不同,接口體內定義的常量、方法等都默認爲public,可以省略public關鍵字,即當接口中定義的常量或方法不寫public,其訪問權限仍然是public

接口不能直接實例化,但可以使用接口聲明引用類型的變量,該變量可以引用到接口的實現類的實例對象上。

接口的主要用途就是被實現類實現,一個類可以實現一個或多個接口。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章