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码值。基本类型的封装类,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 }}
新闻热点
疑难解答