首页 > 编程 > Java > 正文

简谈JAVA基础--数据类型

2019-11-06 06:04:31
字体:
来源:转载
供稿:网友

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	}}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表