尚硅谷Java学习第四篇: Java基本数据类型之间的运算规则

Java基本数据类型之间的运算规则

前提:这里讨论只是7中基本数据类型变量间的运算,不包含 boolean 类型的。

1.自动类型提升:

结论:当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。(说明:此时的容量大小指的是,表示数的范围的大和小。比如:float 容量要大于 long 的容量。
byte  、chrar 、short  - -》int  - -》long  - -》float  - -》double  
特别的:当 byte 、char 、short 三种类型的变量做运算时,结果为 int 型。
eg: byte b = 2 ;
	char c = 'a';
	int i = b + c; //做运算时,结果必须为 int 类型,否则报错。

2.强制类型转换: 它是自动类型提升运算的逆运算。

1.需要使用强转换符:()
2.注意点:强制类型转换,可能导致精度损失。	
eg : //将 double 类型强制转换为 int 型。精度损失,结果输出时 i = 12;
	 double d = 12.3 ;   
	 int i = (int) d;

小知识点:

编码情况:
	1.整型常量,默认类型为 int 型;
	2.浮点型常量,默认类型为 double 型。
	eg 1 : 
		//虽然 l 赋值为12345后面没有加 L ,也没有报错,因为此时12345默认为 int 型,后被自动提升为 long 型。但是如果 l 被赋值超过 int 型数的范围时,就会报错。eg: long l = 12345678954613222; 应改为:long l = 12345678954613222L  
		long l = 12345;
		System.out.println(l);
		
	eg 2:
		float f = 12.3;
		System.out.println(f);// 会报错,因为12.3默认为 double 类型,大的往小的转肯定会报错
		// 解决方案:float f = (float)12.3; 强制将 double 类型转换为 float 类型。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值