Java基础数据类型

Java数据类型:
Java一共有8中基础数据类型,4中整型,2种浮点型,一种用于表示Unicode编码的字符型,一种表示真值的布尔型。

整型

int:在Java中被认定为4字节的大小,
short:在Java中占两2节,
long:在Java中占4字节,
byte:在Java中占1字节,
在定义时,长整型数值有一个后缀L或者l,十六进制数有一个前缀0x或者0X,八进制有一个前缀0,从Java7开始加上前缀0b或者0B可以表示二进制,并且从Java7开始,数字字面量还可以加下划线,比如:1_000_000表示100万,Java编译器会去掉这些下划线,这样做只是为了提高可读性。
在C++中,int和long等类型的大小与平台相关,比如在16位处理器上整型占两字节,在32位处理器上整型占3字节,而在Java中,所有数据类型所占据的字节数量均与平台无关。
注意:Java没有任何无符号形式的int、long、short、byte类型。

浮点类型

float:在Java中占4字节,数值有一个后缀F或f,没有后缀的浮点型默认为double类型。
double:在Java中占8字节,也可以叫做双精度数值,也可以在后边添加D或者d表示double类型。
可以使用十六进制表示浮点数值,例如0x1.0p-3表示2的-3次方,使用p表示指数,尾数采用16进制,指数采用10进制,指数的基数是2,而不是10。
三个特殊的浮点数值:
正无穷大 Double(float)0.POSITIVE_INFINITY;
负无穷大 Double(float).NEGATIVE_INFINITY;
NaN(不是一个数字) Double(float).NaN;

double a=0;
		int b=0;
		try {
			a=3.0/0;//为何不产生异常???
			//整数被0除会产生一个异常,而浮点数被0除会产生一个无穷大或者NaN
			//在这里产生了一个无穷大Infinity
			b=3/0;
		}catch(Exception x) {
			x.printStackTrace();
		}finally {
			System.out.println(Double.isNaN(a));
			System.out.println(Double.toString(a));
			System.out.println(Double.toString(b));
		}
		System.out.println(2.0-1.1);
	}

执行结果在执行结果中可以看出,如果一个int型的数值除以0会报异常,但是一个double型的数值除以0会得到无穷大,
并且可以看出用浮点数不适用与无法接受舍入误差的金融计算中,如果在计算中不允许有任何误差,则选择BigDecimal进行计算。

字符型

char类型原本用于表示单个字符,但是现在有些Unicode需要使用两个char值进行表示,char类型的字面量需要使用单引号括起来,比如’A’而使用双引号"A"表示一个字符串,char类型的值可以表示为十六进制值,其范围从\u0000到\uffff。例如\u2219表示(.)。
注意:Unicode转义序列会在解析代码之前进行处理。

布尔型

boolean类型有两个值false和true,用来进行逻辑判断。在Java中整型和布尔值之间不能进行相互交换。而在C++中是可以进行互换的,0表示false,非0表示true。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值