Java基础之基本数据类型转换

Java的基本数据类型有4种:
布尔类型(boolean)、字符型(char)、整型(byte,short,int,long)、浮点型(float,double)
1) boolean类型不可以转化为其他的数据类型,其他数据类型也不可以转化为boolean类型;
2) 整型、字符型、浮点型的数据在混合运算中相互转换,转换时遵循以下原则:
①容量小的数据类型自动转化为容量大的数据类型:(容量,不是所占内存)
byte,short,char->int->long->float->double
byte,short,char之间不会相互转换,三者在计算时先转化为int类型
②容量大的向容量小的转换时要加上强制转换符,但会造成精度降低或溢出;
③多种数据类型的数据混合运算时,系统首先将所有数据转换成容量最大的,然后进行计算
④实数常量默认double,整型常量默认int

下面是个例子:
public static void main(String[] args){
int i = 1,j;
float f1 = 0.1; //改为:float f1 = 0.1f;或者float f1 = (float)0.1;
float f2 = 123;
long l1 = 12345678,l2 = 8888888888; //改为l2 = 8888888888L
double d1 = 2e20,d2 = 124;
byte b1 = 1,b2 = 2,b3 = 129; //出错,b3超过byte的最大表述范围
j = j+10; //j没有赋初值
i = i/10;
i = i*0.1; //强制转换,i = (int)i*0.1;
char c1 = ‘a’,c2 = 125;
byte b = b1-b2; //b1和b2做运算时首先转换为int,再转换为byte需要强制转换
char c = c1-c2+1; //char运算先转化为int,int转换为char需要强制转换
float f3 = f1+f2;
float f4 = f1+f2*0.1; //有问题,0.1是double类型,在运算时f1,f2会转化为//double进行运算,double再赋值给float需要强制转换
double d = d1*i+j;
float f = (float)(d5+f2);
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值