java初学者入门篇之数据类型转换

数据类型转换的类型

数据类型的种类

整数型:byte short ing long
浮点型 float double
布尔型(boolean) true false
字符型 char

1.自动数据类型转换

数据范围小的数据转换为大的数据类型

如:Long=100,(整数默认是int类型*)就发生了数据类型转换,由int类型转换成Long类型,
这种类型转换是自动发生的,数据就像杯子里的水,只不过是把水从小的容器倒到大的容器。

需要注意

  • float=100L也是自动类型转换,虽然Long是八个字节,float是四个字节,但是float中用了科学计数法,范围是比Long大
short st=100;
System.out.println(st);//结果是100

2. 强制类型转换

适用条件:从数据类型范围大的转换成数据类型范围小的
在这个过程中有两种情况:

  • 第一种是需要转换的数据大小没有超出被赋值的数据类型范围,并且左边没有任何的变量。
public class Demo1{
public static void main(String[] args){
short num=100L;
System.out.println(num);//输出的结果是100
}
}

这个过程发生的强制数据类型转换,100是Long类型,而且100没有超出short的数据范围,编译器会自动加上byte,short num=(byte)100L;。

public class Demo1{
public static void main(String[] args){
byte a=6;
bute b=7;
short num=a+b;
System.out.println(num);//编译时会报错,因为变量
}
} - 

第二种情况是需要转换的数据大小超出了被赋值的数据类型的范围。

public class Demo1{
public static void main(String[] args){
int num= 6000000000;
System.out.println(num);//输出的结果是1705032704
}
}

这种情况需要转换的数据大小超出了被赋值的数据类型的范围会发生数据溢出

还有一种情况是小数转换成整数会损失精度

int num2=3.5;
System.out.println(num);//输出的结果是3

这不是四舍五入,而是直接把小数点后面去掉

补充
1.byte/short/char进行数学运算会先转换成int再运算
2.boolean不能进行强制类型转换

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值