Java类型转换

Java数据类型

四类:整型、浮点型、字符型以及布尔型

八种:如下

(其中int 对应的包装类型为Integer,char对应的包装类型为Character,其余均为首字母大写)

        在Java中,当参与运算数据类型不一致时,就会进行类型转换。Java中类型转换主要分为两类:自动类型转换(隐式) 和 强制类型转换(显式)。

自动类型转换(隐式)代码不需要经过任何处理,在代码编译时,编译器会自动进行处理。特点:数据范围小的转为数据范围大的时会自动进行。

System.Out.println(100);//整型数据默认为int
System.Out.println(3.14);?//浮点型数据默认为double

//类型转换一
int a=100;
long b=10L;//为了区分int和long类型,一般建议:long类型变量的初始值之后加L或者l
b=a;//编译成功,long的范围大于int的范围,当将a赋值给b时,编译器会自动将a提升为long类型,然后赋值
a=b;//编译失败,大范围转换小范围容易造成数据丢失

//类型转换二
float c=2.13f;
double d=3.14;
d=c;//编译成功,double 的范围大于float,编译器将c的类型转换为double,直接赋值
c=d;//直接将float交给double会有数据丢失,不安全

//类型转换三
byte b1 = 100; // 编译通过,100没有超过byte的范围,编译器隐式将100转换为byte
byte b2 = 150; // 编译失败,150超过了byte的数据范围,有数据丢失

强制类型转换(显式):当进行操作时,代码需要经过一定的格式处理,不能自动完成。特点:数据范围大的到数据范围小的。

//类型转换一
int a=100;
long b=10L;
b=a;
a=(int)b;// long-->int, 数据范围由大到小,需要强转,否则编译失败

//类型转换二
float c=2.13f;
double d=3.14;
d=c;
c=(float)d;// double-->float, 数据范围由大到小,需要强转,否则编译失败

b=d;//编译失败,类型不同,不兼容
b=(int)d;//编译成功,小数点后数据丢失,b的值为3

//类型转换三
byte b1 = 100; // 100默认为int,没有超过byte范围,隐式转换
byte b2 = (byte)150; // 150默认为int,超过byte范围,需要显示转换,否则报错

注意:

1.boolean 类型的变量只有两种取值, true 表示真, false 表示假.

2. Java 的 boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法.

3.强制类型转换不一定能成功,不相干的类型不能互相转换

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值