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