首页 > 其他 > 详细

类型转换

时间:2020-09-14 16:17:25      阅读:106      评论:0      收藏:0      [点我收藏+]

类型转换

低——————————————>高

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

一. 强制转换 高——.>低

public class Demo03{

public static void main(String[] args){

int i = 128;

byte b = (byte)i;//内存溢出

//强制转换 (类型)变量名 高——.>低

system.out.println(b);

system.out.println(i);

}

}

二. 自动转换 低——>高

public class Demo03{

public static void main(String[] args){

int i=128;

double d=i;

system.out.println(d);

 

}

}

结论:

  1. 不能对布尔值进行转换

  2. 不能把对象类型转换为不相干类型

  3. 再把高容量转换到低容量时,强制转换

  4. 转换的时候可能存在内存溢出,或者精度问题

 

System.out.println((int)23.7);--->23 精度问题

system.out.println((int)-45.89);--->45 精度问题

 

char c=‘a‘;

int b=‘a‘+1;

system.out.println(b);--->98

system.out.println((char)b);--->b

 

//JDK7的新特性,数字之间可以用下划线分割,但不会输出

int money = 10_0000_0000;

//操作比较大的数的时候,注意溢出问题

int money = 10_0000_0000;

int year = 20;

int total = money*year;

system.out.println(total);---->1474836480()出现了溢出

如果 int total = money*((long)year);

system.out.println(total);--->2000000000 //先把一个数转换成long,解决溢出问题

 

类型转换

原文:https://www.cnblogs.com/xjs-/p/13667029.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!