java类型转换程序_Java类型转换

java类型转换

基本数据类型及对应的封装类

bcaf283a2498cef0a34d1530259f2237.png

转化规则

不同的类型数据需要先转化为同一类型,再进行运算。

转换从低级到高级(根据容量来看)

低 ------------------------>高

byte,short,char-> int -> long ->float ->double

类型转化需要满足的规则:

不能对boolen类型进行转换。

不能把对象类型转换为不相关类的对象。

在把容量大的类型转换为容量小的类型时必须使用强制类型转换。

转换过程中可能导致溢出或损失精度,例如:

int i=128;

byte b = (byte)i;

因为byte类型时8位,最大值127,所以当int类型强转为byte类型时,值128就会溢出。

浮点数到整型的转换时通过舍弃小数得到的,例如:

(int)127 ==23;

(int)-45.89f == -45

自动类型转换

容量小的数据类型可以自动转换为容量大的数据类型。

public class Demo02 {

public static void main(String[] args) {

char c1 = 'a';//定义一个char类型

int i1 = c1;//char自动转化为int

System.out.println(i1);//97

char c2 = 'A';

int i2 = c2+1;

System.out.println(i2);//66

}

}

常见错误和问题

1、操作比较大的数时,要留意是否溢出,尤其是整数操作;

public class Demo03 {

public static void main(String[] args) {

int money = 1000000000;//10亿

int years = 20;

int total = money*years;//返回负数

long total1 = money*years;//返回负数。默认是int,因此结果会转化为int值,再转成long。但是已经发生数据丢失

long total2 = money*((long)years);//先将一个因子变成long,整个表达式发生提升。全部用long计算

System.out.println(total);

System.out.println(total1);

System.out.println(total2);

}

}

2、L和l的问题:

不要命名名字为l的变量

long类型使用大写L不要用小写

3、下划线分隔符

开发过程中特别长的数字可以使用下划线分隔符进行分割。

int b = 1_2929_1234

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值