码迷,mamicode.com
首页 > 编程语言 > 详细

Java类型转换

时间:2021-02-10 12:58:59      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:stat   分割   -128   plain   一个   ble   print   art   不同   

类型转换

低——————————————————高

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

  • 由于Java是强类型语言,所以进行有些运算的时候,需要用到类型转换

  • 运算中,不同类型的数据先转化为同一类型,然后进行运算

  • 强制类型转换 (类型)变量名 高——低

  • 自动转换 低——>高

注意点

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

  2. 不能把对象不相干的类型进行转换

  3. 再把高容量转换到底容量的时候,强制转换

  4. 转换得到时候可能存在内纯溢出,或者进度问题

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

  6. public class data_change{

  7. public static void main(String[] args){

  8. int i = 128;

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

  10. double c = i;

  11. /*

  12. 强制转换 (类型)变量名 高-->低

  13. 自动转换 低-->高

  14. */

  15. ``

  16. System.out.println(i);// 128

  17. System.out.println(b);// -128

  18. System.out.println(c);// 128.0

  19. /*

  20. 注意点:

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

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

  23. 3. 在把高容量转换到低容量的时候,强制转换

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

  25. */

  26. ``

  27. System.out.println("================");

  28. System.out.println((int)23.7);// 23 高转低

  29. System.out.println((int)-45.89f);// -45 高转低

  30. System.out.println("================");

  31. char e = ‘a‘;

  32. int f = e + 1;

  33. ``

  34. System.out.println(f);// 98

  35. System.out.println((char)f);// b

  36. ``

  37. System.out.println("================");

  38. /*

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

  40. JDK7新特性,数字之间可以用下划线分割

  41. */

  42. int money = 10_0000_0000;

  43. int years = 20;

  44. int total = money*years;// 溢出

  45. long total2 = money*years;// 默认是int,转换之前已经存在问题了

  46. long total3 = money*((long)years);// 先把一个数转换为long

  47. ``

  48. System.out.println(total);// -1474836480

  49. System.out.println(total2);// -1474836480

  50. System.out.println(total3);// 20000000000

  51. }

  52. }

Java类型转换

标签:stat   分割   -128   plain   一个   ble   print   art   不同   

原文地址:https://www.cnblogs.com/java5745/p/14392989.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!