Java数据类型与类型转换

Java的两大数据类型:基本数据类型、引用类型
Java语言提供了八种基本数据类型。
六种数字类型(四个整数型,两个浮点型)
	Byte a=127占1字节  8位  范围在-2^7 到 2^7-1 即 -128~127
	Short b=2048占2字节16位 范围在‐2^15 到 2^15‐1  即 -3 2768~3 2767 
	Int c=4056占4字节32位  范围在‐2^31 到 2^31‐1   即 -21 4748 2648~21 4784 2647
	Long d= 1L		占8字节64位  范围在‐2^63 到 2^63‐1   即 -922 3372 0368 5477 5808到 288 3372 0368 5477 5807 使用L或l 进行标识 建议使用大写L 因为小l与数字1有时不易区分
	float e=12.4f 	占4个字节,32位,后用f或F进行标识   Float         
	double f=23.4 占8个字节,64位,小数默认的是double类型,double类 型后可以用D或d标识,但一般不加  Double
字符类型
	char g=’a’ 占2个字节,16位  Character 

除了声明是为字符,也可以声明为特殊的转义字符(\r 回车 \b 空格)、Unicode字符集 \u0000‐\uFFFF、字符0到 65535
布尔型
boolean b1=true;
boolean b2=false;
boolean 1字节 8位 true/false

	byte byteValue1 = 127;
	int intValue1 = byteValue1 + 127;
	System.out.println(intValue1);

小的类型自动转化为大的类型

	char a1 = '\r';
	int b1 = a1;
	System.out.println(b1);

输出的结果是 13。这是 回车符在Unicode字符集对应的集。
字符可以自动提升为整数

	float floatValue1=14+10f;
	float floatValue2=floatValue1-23.9f;
	System.out.println(floatValue2);

两个数值是无限接近于24 却不等于 24

	byte f1 = (byte) 126;
	byte f2 = (byte) 127;
	byte f3 = (byte) 128;
	byte f4 = (byte) 129;
	byte f5 = (byte) 130;
	System.out.println(f1); 
	System.out.println(f2);
	System.out.println(f3);
	System.out.println(f4);
	System.out.println(f5);

强制类型转换可能导致溢出或者精度损失
00000000 00000000 00000000 10000000 128的原码
00000000 00000000 00000000 10000000 128的反码
00000000 00000000 00000000 10000000 128的补码
10000000 的补码
11111111 反码
10000000
0111 1110 126
0111 1111 127
1000 0000 128
1000 0001 129
1000 0010 130
正数的反码,补码是其本身。负数的反码是符号位保持不变,其余位取反。负数的补码是在其反码的基 础上+1。

在把容量大的类型转换为容量小的类型时必须使用强制类型转换
Int intValueA=127;
byte byteValueB=(byte) intValueA;
System.out.println(byteValueB);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值