java 數據類型
java基本數據類型根據字節占用循序包括boolean,byte,char,short,int,float,long,double
計算機中一個字節代表8位。根據各個類型所占用字節數可以得到表示的范圍為 -2^位數 —— 2^位數-1次冪 - 1
除char與boolean外,其余類型的封裝類繼承于Number類 。java.lang -> java.lang.Number -> java.lang.XXX
除char的封裝類外,其余封裝類可以通過傳遞字符串來進行實例。boolean類型傳入字符串如果為非true,則全部為false。
并且在通過傳入字符串進行實例化時,如果無法被封裝類所解析則會拋出NumberFormatException異常
而且在進行Interger.ValueOf( Long )時是不允許的。因為所表示數值的范圍不同。但是可以進行Long.intValue()
JAVA 封裝類型所 包含的方法
compareTo 方法用于比較兩個字符串,從第一位開始比較,遇到不同字符串,返回兩個字符的ASCII值Character類型不能直接new一個ASCII碼值?;绢愋偷姆庋b類,hascode是該值在機器中的ASCII碼值。具有唯一性parse 和 valueOf 的區別在于ValueOf返回的為封裝類型,parse返回基本類型bitCount 用于返回二進制有多少個1getInteger(java.lang.String) 返回系統屬性為String的Integer值highestOneBit( i ) 講i最高位保留,其余位數補0lowestOneBit( i ) 講i最低位保留,其余位數補0numberOfLeadingZeros( i ) 二進制最高為1的位左側為零的數量numberOfTrailingZeros( i ) 二進制最低為1的位右側為零的數量reverseBytes - reverse 暫時不懂,暫時認為是反碼lowestOneBit 用于判斷數值正負,1 和 -1 來表示rotateRight 用于判斷數值正負,1 和 -1 來表示rotateLeft 和 rotateRight 代表循環左移和右移 << >>toBinaryString 、toHexString、toOctalString 將十進制數轉換為 2 、16 、8 進制
JAVA位運算
位運算是對數值的二進制表示進行運算。
>> 為有符號右移,起始位為0代表正數,右移位數直接舍棄,為1代表負數,右移位置補到最左側
>>> 為無符號右移,無論正負,高位用0補位
<< 為左移
package demo;/** * java基本數據類型以及封裝類所包含的方法. * * Created by yukaiji on 2017/2/26. */public class BasicType { public static void main(String[] args) { // BasicType.sysoutSize(); // BasicType.lang(); BasicType.equles(); // BasicType.calculation(); } /** * 基本數據類型的字節數. */ public static void sysoutSize() { System.out.PRintln("Byte:" + Byte.SIZE / 8); // 2^7-1 System.out.println("Character:" + Character.SIZE / 8); System.out.println("short:" + Short.SIZE / 8); // 2^15-1 System.out.println("Integer:" + Integer.SIZE / 8); // 2^31-1 System.out.println("float:" + Float.SIZE / 8); System.out.println("Long:" + Long.SIZE / 8); // 2^63-1 System.out.println("Double:" + Double.SIZE / 8); System.out.println("Boolean:" + Boolean.FALSE); } public static void lang() { // 除boolean和char其余基本類型的封裝類繼承于Number類 // java.lang -> java.lang.Number -> java.lang.XXX // 除Character類外,其他包裝類可將一個字符串作為參數構造它們的實例 // boolean類型傳入字符串為非true,全部為false。 // 傳入的字符串必須能夠被引用類型解析,否則會報NumberFormatException // Long型轉Int型如果數據過大,溢出從負數開始往回減 Integer integer = new Integer("123"); Boolean boo = new Boolean("true"); Long aLong= 1L; System.out.println(integer); System.out.println(boo); } public static void equles() { // compareTo 方法用于比較兩個字符串,從第一位開始比較,遇到不同字符串,返回兩個字符的ASCII值 // Character類型不能直接new一個ASCII碼值。 // 基本類型的封裝類,hascode是該值在機器中的ASCII碼值。具有唯一性 // parse 和 valueOf 的區別在于ValueOf返回的為封裝類型,parse返回基本類型 // bitCount 用于返回二進制有多少個1 // getInteger(java.lang.String) 返回系統屬性為String的Integer值 // highestOneBit( i ) 講i最高位保留,其余位數補0 // lowestOneBit( i ) 講i最低位保留,其余位數補0 // numberOfLeadingZeros( i ) 二進制最高為1的位左側為零的數量 // numberOfTrailingZeros( i ) 二進制最低為1的位右側為零的數量 // reverseBytes - reverse 暫時不懂,暫時認為是反碼 // lowestOneBit 用于判斷數值正負,1 和 -1 來表示 // rotateRight 用于判斷數值正負,1 和 -1 來表示 // rotateLeft 和 rotateRight 代表循環左移和右移 << >> // toBinaryString 、toHexString、toOctalString 將十進制數轉換為 2 、16 、8 進制 Character car = new Character('a'); Integer in = new Integer(7); Integer in1 = new Integer(4); System.out.println(Integer.bitCount(7)); System.out.println(Integer.highestOneBit(7)); System.out.println(Integer.lowestOneBit(7)); System.out.println(Integer.toBinaryString(7)); } public static void calculation() { // >> 為有符號右移,起始位為0代表正數,右移位數直接舍棄,為1代表負數,右移位置補到最左側 // >>> 為無符號右移,無論正負,高位用0補位 System.out.println(2 << 3); // 2的二進制為10 左移三位為 10 000 為16 System.out.println(16 >> 3); // 16的二進制為10000 右移三位 10 為2 }}
新聞熱點
疑難解答