java中Integer包裝類的詳細講解(java二進製操作,所有進製轉換)
程序員都很懶,你懂的!
今天為大家分享的是Integer這個包裝類。在現實開發中,我們往往需要操作Integer,或者各種進製的轉換等等。我今天就為大家詳細講解一下Integer的使用吧。看代碼:
package com.herman.test; public class IntegerTest { public static void main(String[] args) { System.out.println("Integer中的常量****************************"); System.out.println("Integer的最大取值:\t"+Integer.MAX_VALUE); System.out.println("Integer的最小取值:\t"+Integer.MIN_VALUE); System.out.println("Integer的最大位數:(以二進製補碼形式表示 int 值的位數。)\t"+Integer.SIZE); System.out.println("Integer的類型的:\t"+Integer.TYPE); System.out.println(); System.out.println("Integer中方法的使用**************************"); int i=1000; System.out.println("1000的二進製表示:\t"+Integer.toBinaryString(i)); System.out.println("1000的二進製串中“1”的總數量:\t"+Integer.bitCount(i)); /** * numberOfLeadingZeros計算方法為:32(Integer.SIZE)-Integer.toBinaryString(1000).length() */ System.out.println("1000的二進製串中從最左邊算起連續的“0”的總數量:\t"+Integer.numberOfLeadingZeros(i)); System.out.println("1000的二進製串中從最右邊算起連續的“0”的總數量:\t"+Integer.numberOfTrailingZeros(i)); /** * Integer decode(String nm) * 給定一個10進製,8進製,16進製中任何一種進製的字符串, * 該方法可以將傳入的字符串轉化為10進製數字的Integer類型並返回。 */ System.out.println("8的八進製為010,轉換為10進製:\t"+Integer.decode("010")); System.out.println("10的十進製為10,轉換為10進製:\t"+Integer.decode("10")); System.out.println("16的十六進製 為0X10,轉換為10進製:\t"+Integer.decode("0X10")); System.out.println("1000反轉整數二進製補碼的位順序:\t"+Integer.reverse(i)); System.out.println("1000反轉整數字節的順序:\t"+Integer.reverseBytes(i)); /** * 獲取整數符號,為負返回-1,正返回1,零返回0 */ System.out.println("1000獲取整數符號為:\t"+Integer.signum(i)); System.out.println("創建1000的Integer對象:\t"+Integer.valueOf(i)); System.out.println("Integer.valueOf對象的使用(1000的radix進製數):\t"+Integer.valueOf("1000", 10)); /** * Integer.getInteger(String)的功能是根據指定的名稱得到係統屬性的整數值。 * 第一個參數將被認為是係統屬性的名稱。 * 係統屬性可以通過 System.getProperty(java.lang.String)方法訪問得到。 * 屬性值字符串將被解釋成一個整數,並且以表示這個值的Integer對象形式返回。 * 可能出現的數字格式的詳細說明可以在 getProperty 的定義說明裏找到。 */ System.out.println("getInteger取的是係統配置:\t"+Integer.getInteger("sun.arch.data.model")); System.out.println("getInteger取的是係統配置:\t"+Integer.getInteger("java.version")); System.out.println("getInteger取的是係統配置:\t"+Integer.getInteger("java.lang.String")); /** * 如果存在sun.arch.data.model係統屬性的整數值,則返回該整數值 * 如果不存在該整數值,則返回參數(val)2的值 */ System.out.println("getInteger取的是係統配置:\t"+Integer.getInteger("sun.arch.data.model",16)); //返回具有單個1位的int值,在指定值中最高位的1位的位置,否則如果指定本身等於0,則返回0 System.out.println("返回最高位為1, 其它位為0的數(右邊):\t"+Integer.highestOneBit(i)); System.out.println("返回最高位為1, 其它位為0的數(左邊):\t"+Integer.lowestOneBit(i)); System.out.println("將i左移distance,如果distance為負,則右移-distance:\t"+Integer.rotateLeft(i, 2)); System.out.println("將i無符號右移distance,如果distance為負,則左移-distance。負的肯定會移成正的:\t"+Integer.rotateRight(i, 2)); System.out.println(); System.out.println("Integer對象的方法使用******************************"); Integer obj=new Integer(1000); System.out.println("1000轉換為byte類型的數為:\t"+obj.byteValue()); System.out.println("Integer1000和Integer2000大小比較:\t"+obj.compareTo(new Integer(2000))); System.out.println("Integer2000和Integer1000大小比較:\t"+new Integer(2000).compareTo(obj)); System.out.println("Integer1000轉換為double類型的數為:\t"+obj.doubleValue()); System.out.println("Integer1000和Integer2000大小比較:\t"+obj.equals(new Integer(2000))); System.out.println("Integer2000和Integer1000大小比較:\t"+new Integer(2000).equals(obj)); System.out.println("Integer2000和Integer1000大小比較:\t"+new Integer(2000).equals(new Integer(2000))); System.out.println("Integer1000的哈希碼:\t"+obj.hashCode()); System.out.println("Integer1000的int值:\t"+obj.intValue()); System.out.println("Integer1000的long值:\t"+obj.longValue()); System.out.println("Integer1000的short值:\t"+obj.shortValue()); System.out.println("將字符串1000解析為int類型的數:\t"+Integer.parseInt("1000")); /** * Integer.parseInt("1000", 2) * 返回第一個參數的(字符串)的2進製(參數2為轉換的進製) */ System.out.println("返回1000的2進製"+Integer.parseInt("1000", 2)); /** * 進製轉換 */ System.out.println("1000十進製轉成二進製"+Integer.toBinaryString(i)); System.out.println("1000十進製轉八進製:\t"+Integer.toOctalString(i)); System.out.println("1000十進製轉十六進製:\t"+Integer.toHexString(i)); System.out.println("十六進製轉成十進製:\t"+Integer.valueOf("FFFF",16).toString()); System.out.println("十六進製轉成二進製:\t"+Integer.toBinaryString(Integer.valueOf("FFFF",16))); System.out.println("十六進製轉成八進製:\t"+Integer.toOctalString(Integer.valueOf("FFFF",16))); System.out.println("八進製轉成十進製:\t"+Integer.valueOf("576",8).toString()); System.out.println("八進製轉成二進製:\t"+Integer.toBinaryString(Integer.valueOf("23",8))); System.out.println("八進製轉成十六進製:\t"+Integer.toHexString(Integer.valueOf("23",8))); System.out.println("二進製轉十進製:\t"+Integer.valueOf("0101",2).toString()); System.out.println("二進製轉八進製:\t"+Integer.toOctalString(Integer.parseInt("0101", 2))); System.out.println("二進製轉十六進製:\t"+Integer.toHexString(Integer.parseInt("0101", 2))); System.out.println(); System.out.println("1000的二進製形式最左邊的最高一位且高位後麵全部補零,最後返回int型的結果"+Integer.highestOneBit(i)); } }運行效果截圖如下:
點擊資源下載:https://download.csdn.net/detail/xmt1139057136/7309395
歡迎大家關注我的個人博客,或者加入qq群135430763進行相互學習。
最後更新:2017-04-03 12:56:33