java中基础数据转换_Java基本类型数据间的转换

不同的基本类型直接可以相互转换:

1、自动类型转换(隐式类型转换):从小类型到大类型可以自动完成。类型大小关系如下图:

byte--short--int(char)--long--float--double

2、强制转换:从大类型到小类型需要强制转换符:

(需要转换成的类型)变量,但这样转换有可能会造成精度损失或者溢出。

自动转换示例:

int a = 100;

int b = 200;

long c = a + b; //自动将int转换为long

强制转换示例:

long l1 = 1024L;

int i = (int)l1; //需要加强制转换符,由于1024在int范围内没有产生溢出

long l = 1024L * 1024 * 1024 * 4;

int j = (int)l; //会产生溢出

System.out.println(j); //结果为:0

double pi = 3.1415926535897932384;

float f = (float) pi; //会造成精度损失

System.out.println(f); //结果为:3.1415927

数值运算时的自动转换

1、多种基本类型参与的表达式运算中,运算结果会自动的向较大的类型装换:

// 由于有long型的直接参与,整个表达式结果为long

long distance = 1000 * 365 *24 *299792458L;

//由于有double型的直接量599.0参与,整个表达式结果为 double

double change = 800 - 599.0;

double persent1 = 80/100;

//结果为0.0,右边都是int整型运算,结果也为int类型,结果为0,再赋值给double型,将0转换为0.0

double persent2 = 80.0/100;

//结果为0.8,右边表达式有double型直接量参与,运算结果为double型。

两点规则:

1、整数直接量可以直接赋值给byte,short,char,但不能超出范围

2、byte, short, char型数据参与运算时,先一律转换为int再运算

System.out.println('2' + '2');

//100,'2'的码50,加上'2'的50,结果为:100

//char类型'2'在参与运算时先转成int类型,再输出结果

标签:转换,运算,int,double,long,类型,Java

来源: https://www.cnblogs.com/javastudychen/p/14365175.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值