本文目錄一覽:
- 1、什麼是java中的包裝類
- 2、北大青鳥設計培訓:關於java包裝的定義?
- 3、java的包裝類是什麼,作用是什麼,如何使用
- 4、java包裝類
- 5、用JAVA編寫一個程序,要求打印基本8中數據類型和其包裝類型,並且加上包裝類型和基本類型的互相轉換
什麼是java中的包裝類
包裝類就是基本數據類型的那8種:
Java中的包裝器類有兩個主要的目的:
1、提供一種機制,將基本值“包裝”到對象中,從而使基本值能夠包含在為對象而保留的操作中,比如添加到Collections 中,或者從帶對象返回值的方法中返回。注意,java5增加了自動裝箱和拆箱,程序員過去需手工執行的許多包裝操作,現在可以由java自動處理了。
2、為基本值提供分類功能。這些功能大多數於各種轉換有關:在基本值和String對象間相互轉換,在基本值和String對象之間按不同基數轉換,如二進制、八進制和十六進制。
北大青鳥設計培訓:關於java包裝的定義?
Java有八種基本類型,每種基本類型都有一個對應的包裝類。
包裝類是什麼呢?它是一個類,內部有一個實例變量,保存對應的基本類型的值,java課程培訓機構發現這個類一般還有一些靜態方法、靜態變量和實例方法,以方便對數據進行操作。
Java中,基本類型和對應的包裝類如下表所示:基本類型包裝類booleanBooleanbyteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacter包裝類也都很好記,除了Integer和Character外,其他類名稱與基本類型基本一樣,只是首字母大寫。
包裝類有什麼用呢?Java中很多代碼(比如後續文章介紹的集合類)只能操作對象,為了能操作基本類型,需要使用其對應的包裝類,另外,包裝類提供了很多有用的方法,可以方便對數據的操作。
包裝類的基本使用是比較簡單的,但我們不僅會介紹其基本用法,還會介紹一些平時用的相對較少的功能,同時剖析其實現代碼,內容比較多,我們會分三節來介紹,本節主要介紹各個包裝類的基本用法及其共同點,後兩節我們會進一步介紹高級功能,並剖析實現代碼。
java的包裝類是什麼,作用是什麼,如何使用
一、 整型、實型、字符型變量中的相互轉換在Java中整型,實型,字符型被視為同一類數據,但是級別有所不同,轉換時要注意低級變量能夠直接轉換為高級變量,例如,下面的語句能夠在Java中直接通過:byte b;int i=b;而將高級變量轉換為低級變量時,情況會複雜一些,您能夠使用強制類型轉換.即您必須採用下面這種語句格式:int i;byte b=(byte)i;能夠想象,這種轉換肯定可能會導致溢出或精度的下降,因此我們並不推薦使用這種轉換.二、Java的包裝類在我們討論其他變量類型之間的相互轉換時,我們需要了解一下Java的包裝類,所謂包裝類,就是能夠直接將簡單類型的變量表示為一個類,在執行變量類型的相互轉換時,我們會大量使用這些包裝類。Java共有六個包裝類,分別是Boolean、Character、Integer、Long、Float和Double,從字面上我們就能夠看出他們分別對應於 boolean、char、int、long、float和double。而String和Date本身就是類。所以也就不存在什麼包裝類的概念了。三、簡單類型變量和包裝類之間的相互轉換簡單類型的變量轉換為相應的包裝類,能夠利用包裝類的構造函數.即:Boolean(boolean value),Character(char value),Integer(int value),Long(long value),Float(float value),Double(double value)而在各個包裝類中,總有形為××Value()的方法,來得到其對應的簡單類型數據.利用這種方法,也能夠實現不同數值型變量間的轉換.四、String類和其他數據類型的相互轉換由於可以通過包裝類中的構造函數可以轉換:Boolean(String s),Integer(String s),Long(String s),Float(String s),Double(String s)而將String類轉換為Date類也能夠使用這樣的構造函數:Date(String s)字符型變量,事實上String類能夠理解為一個char型數組,所以charAt(int index)能夠得到String類中某一位置上的字符,toCharArray()更能夠將整個String類轉換成一個char的數組.對於任何的包裝類都存在一個名為toString()的方法能夠將其轉換成對應的String類,而對於整型類和長整型類,還能夠使用toBinaryString(int i),toHexString(int i),toOctalString(int i)分別以二進制,十六進制和八進制的形式進行到String類的轉換。五、將字符型直接做為數值轉換為其他數據類型
java包裝類
在Java中我們經常會見到一些基本的數據類型,比如整數類型(int),小數類型(double,float)等,但是Java是一門面向對象的語言,很多的類型都是以對象的形式展現,像這些數據類型也可以有自己的對象;每個類型的對應包裝類型為:int- Integer double-Double float-Float char-Character short-Short boolean-Boolean byte-Byte;
我們用包裝類將這些類型封裝好之後,就可以使用對象的一些屬性和方法,可以方便的操作這些對象;
在這些包裝類中,我們可以將這些包裝類對象和基本數據類型進行轉換,也叫做裝箱操作和拆箱操作:裝箱操作就是將基本數據類型轉換為包裝類型,例如將基本數據類型int轉換成包裝類Integer,裝箱操作有兩種方式,手動裝箱與自動裝箱,自動裝箱就是直接將基本數據類型賦值給包裝類型對象即可;手動裝箱就是創建一個包裝類對象,然後將值賦值給該對象;
int value1 = 10;
Integer value2 = value1; // 自動裝箱
Integer value3 = new Integer( value1 ); // 手動裝箱
有了裝箱操作也就有拆箱操作,拆箱操作的意思就是將包裝類型轉換為基本數據類型;拆箱操作也有兩種方式:手動拆箱與自動拆箱;
int value4 = value2; // 自動拆箱,直接將包裝類對象賦值給基本數據類型變量
Int value5 = value2.intValue(); // 手動拆箱,調用包裝類的intValue()方法,獲取變量值;
包裝類也是一個普通的類,當然也有類的基本屬性,方法;數值類型的包裝類繼承的父類是Number類,這個類裡面有一些基本的方法,比如獲取intValue的值,longValue的值等等;
包裝類繼承Number之後,也會有一些自己的屬性方法,比如Integer類有自己的一些屬性,可以將整數轉換為字符串,也可以將字符串轉換成整數等操作;
Integer常用方法
比較兩個數的大小,如果第一個數小於第二個數返回-1;如果兩個數相等返回0;如果第一個數大於第二個數返回1;
public static int compare(int x, int y)
將數值字符串轉換為數字,如果傳入的參數中包含非數字的字符,則會報出異常
public static int parseInt(String s)
將整數類型轉換為字符串類型
public String toString()
valueOf返回Integer類型的數據,根據參數返回不同的結果
public static Integer valueOf(String s, int radix)
public static Integer valueOf(String s)
public static Integer valueOf(int i)
除了Integer之外,其他的包裝類例如Long, Double也都有類似的功能
包裝類型除了基本數值類型的包裝類之外,還有boolean, char的包裝類,這兩個類都是普通的封裝,並沒有繼承Number類;
使用包裝類的使用,進行兩個對象的判斷,需要使用equals方法進行判斷,不可以使用==,當Integer值的範圍在-128到127(包含)之間的時候,使用==返回true,但是不在這個返回的時候,返回false;
用JAVA編寫一個程序,要求打印基本8中數據類型和其包裝類型,並且加上包裝類型和基本類型的互相轉換
public class Test {
public static void main(String[] args) {
/*8種基本數據類型*/
byte a = ‘b’;
char b = ‘b’;
short c = 32767;
int d = 2147483647;
long e = 9223372036854775807L;
float f = 3;
double g = 0.3;
boolean h = true;
/*基本類型轉換為包裝類型*/
Byte z = a;
Character y = b;
Short x = c;
Integer w = d;
Long v = e;
Float u = f;
Double t = g;
Boolean s = h;
/*包裝類型轉換為基本類型*/
byte i = z;
char j = y;
short k = x;
int l = w;
long m = v;
float n = u;
double o = t;
boolean p = s;
System.out.println(i);//98
System.out.println(j);//b
System.out.println(k);//32767
System.out.println(l);//2147483647
System.out.println(m);//9223372036854775807
System.out.println(n);//3.0
System.out.println(o);//0.3
System.out.println(p);//true
}
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/312966.html