黑马程序员——Java基础——基本数据类型

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------


Java为基本类型提供语言级别的支持,即已经在Java中预定义,用相应的保留关键字表示。简单的数据类型图如下:


1.基本数据类型

Java为基本类型提供语言级别的支持,即已经在Java中预定义,用相应的保留关键字表示。Java中的基本数据类型共有八种,取值范围是固定的,不会随着机器硬件环境或者操作系统的改变而改变。(下图来源于网络)


2.基本数据类型间的转换

基本类型数据间的转换,有两种方式:自动转换和强制转换

自动转换,具体地讲,当一个较"小"数据与一个较"大"的数据一起运算时,系统将自动将"小"数据转换成"大"数据,再进行运算。这些类型由"小"到"大"分别为 (byte,short,char)--int--long--float—double。这里我们所说的"大"与"小",并不是指占用字节的多少,而是指表示值的范围的大小。如

  		char c = 'a';
		int i = c;
		System.out.println("i="+i);//输出:i = 97

强制转换,将"大"数据转换为"小"数据时,可以使用强制类型转换。如


		byte b = 3;
		b = (byte) (b + 2);


类型自动提升的规则

(1)所有的byte,short,char型的值将被提升为int型;

(2)如果有一个操作数是long型,计算结果是long型;

(3)如果有一个操作数是float型,计算结果是float型;

(4)如果有一个操作数是double型,计算结果是double型;

以上就是Java基本数据类型的一些总结,初学的时候对于类型转换的结果都是直接记忆的,在学习反射时了解Object有一个getClass的方法后发现可以对类型转换的结果进行验证,这里取int类型与其他类型相加的代码示例:


		int i = 10;
		byte b  = 2;
		short s = 3;
		char c = 'a';
		long l = 5 ;
		float f = 1.2f;
		double d = 1.2354;
		
		Object obj1 = i + b;
		Object obj2 = i + s;
		Object obj3 = i + c;
		Object obj4 = i + l;
		Object obj5 = i + f;
		Object obj6 = i + d;		
		
		System.out.println("int+byte:\t"+obj1.getClass().getName());
		System.out.println("int+short:\t"+obj2.getClass().getName());
		System.out.println("int+char:\t"+obj3.getClass().getName());
		System.out.println("int+long:\t"+obj4.getClass().getName());
		System.out.println("int+float:\t"+obj5.getClass().getName());
		System.out.println("int+double:\t"+obj6.getClass().getName());

所得的结果为:

这样以此类推,就可以得出基本数据类型相加后自动转换的结果如下表,与规则相符












评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值