摘要:第三階段常見對象的學(xué)習(xí)基本類型包裝類我們提出一個需求,將的二進(jìn)制八進(jìn)制十六進(jìn)制算出來,對于這種基本類型的一些操作,包裝類就可以很好地解決這些問題。
第三階段 JAVA常見對象的學(xué)習(xí) 基本類型包裝類
我們提出一個需求,將520的二進(jìn)制、八進(jìn)制、十六進(jìn)制算出來,對于這種基本類型的一些操作,包裝類就可以很好地解決這些問題。
public class IntegerDemo { public static void main(String[] args) { int love = 520; //轉(zhuǎn)換為二進(jìn)制 System.out.println(Integer.toBinaryString(love)); //轉(zhuǎn)換為八進(jìn)制 System.out.println(Integer.toOctalString(love)); //轉(zhuǎn)換為十六進(jìn)制 System.out.println(Integer.toHexString(love)); } } //運行結(jié)果 1000001000 1010 208
將基本數(shù)據(jù)類型封裝成對象的的好處在于可以在對象中定義更多的功能方法操作該數(shù)據(jù)
常用的操作之一:用于基本數(shù)據(jù)類型與字符串之間的轉(zhuǎn)換
例如:常見進(jìn)制的轉(zhuǎn)換
Public Static String toBinaryString(int i)
為了對基本數(shù)據(jù)類型進(jìn)行更多的操作,更方便的操作,Java針對每一種數(shù)據(jù)類型都提供了對應(yīng)的類類型,包裝類類型。
· byte Byte · short Short · int Integer · long Long · float Float · double Double · char Character · boolean Boolean
下面的內(nèi)容我們使用常見的Integer類型來講解
(一) Integet類 Integer類的構(gòu)造方法public class IntegerDemo2 { public static void main(String[] args) { int love = 520; Integer love2 = new Integer(love); System.out.println(love2); //由數(shù)字組成的字符串也可以被轉(zhuǎn)換為Integer String love3 = "520"; Integer love4 = new Integer(love3); System.out.println(love4); } }
通過包裝類的一些方法可以很便捷的解決很多實際問題,比如String和int類型的相互轉(zhuǎn)換
(二)String和int的相互轉(zhuǎn)換 (1) int → Stringpackage cn.bwh_02_IntString; public class IntStringDemo { public static void main(String[] args) { int number = 520; //方式一:拼接字符串 String s1 = "" + number; System.out.println(s1); //方式二(推薦方法)任何類型的數(shù)據(jù)轉(zhuǎn)換成字符串 String s2 = String.valueOf(number); System.out.println(s2); //方式三(最麻煩) Integer i = new Integer(number); String s3 = i.toString(number); System.out.println(s3); //方式四 String s4 = Integer.toString(number); System.out.println(s4); } }(2) String → int (數(shù)字組成的字符串)
package cn.bwh_02_IntString; public class StringIntDemo { public static void main(String[] args) throws Exception{ String s = "520"; //方式一 Integer i = new Integer(s); int x = i.intValue(); System.out.println(x); //方式二(推薦方法) int y = Integer.parseInt(s); System.out.println(y); } }(三) 兩個JDK 5 的新特性 (1) 自動裝箱和自動拆箱(JDK 5新特性)
在我想要使用包裝類的一些方法的時候,我可以通過基本類型包裝類的構(gòu)造方法將值傳入,JDK5后的新特性就為我們大大的簡化了一些麻煩的步驟
Integer a = 1; //這就是一個自動裝箱,如果沒有自動裝箱的話,需要這樣 Integer a = new Integer(1) int b = a; //這就是一個自動拆箱,如果沒有自動拆箱的話,需要這樣: int b = a.intValue() 這樣就能看出自動裝箱和自動拆箱是簡化了基本數(shù)據(jù)類型和相對應(yīng)對象的轉(zhuǎn)化步驟(2) 緩存池(JDK 5新特性)
談到數(shù)值順便提一提緩存池問題
在于在Java 5以后,整型對象在內(nèi)部實現(xiàn)中通過使用相同的對象引用實 現(xiàn)了緩存和重用。Integer類型對于-128-127之間的數(shù)字是在緩沖區(qū)取的,所以對于在這個范圍內(nèi)的數(shù)值用雙等號比較是一致的,因為對應(yīng)的內(nèi)存地址是相同的。但對于不在這區(qū)間的數(shù)字是在堆中new出來的,所以地址空間不一樣,也就不相等。
(四) Character類Character類對象中包裝一個基本類別char的值
此外,該類提供了幾種方法,以確定字符的類別(小寫字母,數(shù)字,等等),并將字符從大寫轉(zhuǎn)換成小寫,反之亦然。
//判斷給定的字符是否是大寫字符 public static boolean isUpperCase(char ch) //判斷給定的字符是否是小寫字符 public static boolean isLowerCase(char ch) //判斷給定的字符是否是數(shù)字字符 public static boolean isDigit(char ch) //把給定的字符串轉(zhuǎn)換為大寫字符 public static boolean toUpperCase(char ch) //把給定的字符串轉(zhuǎn)換為小寫字符 public static boolean toLowerCase(char ch)結(jié)尾:
如果內(nèi)容中有什么不足,或者錯誤的地方,歡迎大家給我留言提出意見, 蟹蟹大家 !^_^
如果能幫到你的話,那就來關(guān)注我吧?。ㄏ盗形恼戮鶗诠娞柕谝粫r間更新)
在這里的我們素不相識,卻都在為了自己的夢而努力 ?一個堅持推送原創(chuàng)Java技術(shù)的公眾號:理想二旬不止
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/74957.html
摘要:數(shù)據(jù)綁定入門學(xué)習(xí)總結(jié)時間年月日星期日說明本文部分內(nèi)容均來自慕課網(wǎng)。慕課網(wǎng)教學(xué)示例源碼個人學(xué)習(xí)源碼第一章課程介紹數(shù)據(jù)綁定入門概述數(shù)據(jù)綁定概念來自百度百科簡單綁定是將一個用戶界面元素控件的屬性綁定到一個類型對象實例上的某個屬性的方法。 《SpringMVC數(shù)據(jù)綁定入門》學(xué)習(xí)總結(jié) 時間:2017年2月19日星期日說明:本文部分內(nèi)容均來自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.co...
摘要:使用創(chuàng)建的字符串對象是運行時創(chuàng)建出來的,它被保存在運行時內(nèi)存區(qū),即堆內(nèi)存,不會放入常量池中。類成員創(chuàng)建的對象實例中根本不會擁有對應(yīng)類的類變量。抽象類的構(gòu)造器不能用于創(chuàng)建實例,主要是用于被其子類調(diào)用。 Java提供了final關(guān)鍵字來修飾變量,方法和類,系統(tǒng)不允許為final變量重新賦值,子類不允許覆蓋父類的final方法,final類不能派生子類。 Abstract 和 inte...
摘要:內(nèi)存分配解析四方法執(zhí)行完畢,立即釋放局部變量所占用的??臻g。內(nèi)存分配解析五調(diào)用對象的方法,以實例為參數(shù)。堆和棧的小結(jié)以上就是程序運行時內(nèi)存分配的大致情況。 前言 java中有很多類型的變量、靜態(tài)變量、全局變量及對象等,這些變量在java運行的時候到底是如何分配內(nèi)存的呢?接下來有必要對此進(jìn)行一些探究。 基本知識概念: (1)寄存器:最快的存儲區(qū), 由編譯器根據(jù)需求進(jìn)行分配,我們在程序...
摘要:前陣子,我們分享了中的基本數(shù)據(jù)類型轉(zhuǎn)換這篇文章,對許多粉絲還是有帶來幫助的,今天講一下包裝類的的由來,及自動裝箱拆箱的概念和原理。下面是基本數(shù)據(jù)類型與對應(yīng)的包裝類型。 showImg(https://segmentfault.com/img/remote/1460000016537706); 前陣子,我們分享了《Java中的基本數(shù)據(jù)類型轉(zhuǎn)換》這篇文章,對許多粉絲還是有帶來幫助的,今天講...
閱讀 1022·2021-11-15 11:37
閱讀 3835·2021-11-11 16:55
閱讀 3442·2021-11-11 11:01
閱讀 1070·2019-08-30 15:43
閱讀 2833·2019-08-30 14:12
閱讀 830·2019-08-30 12:58
閱讀 3481·2019-08-29 15:19
閱讀 2110·2019-08-29 13:59