2022.2.28数据类型转换

数据类型转换

低----------------------------------------->高

byte,short,char→int→long→float→double

 1  public class Demo04 {
 2      public static void main(String[] args) {
 3          int i = 128;
 4          byte b = (byte) i;
 5          double d = i;
 6          System.out.println(i);//128
 7          System.out.println(b);//-128
 8          System.out.println(d);//128.0
 9 10          //强制类型转换     高--->低
11          //自动转换        低--->高
12 13          /*注意点
14          1.不能对布尔值进行转换
15          2.不能把对象类型转换为不想干的类型
16           */
17          System.out.println("===============================");
18          System.out.println(23.7);//23.7
19          System.out.println((int)23.7);//23          高---->低   double到int
20          System.out.println((int) -46.89f);//-46     高----->低   float到int
21 22          System.out.println("===============================");
23          char c = 'a';
24          int c1 = c + 1;
25          System.out.println(c1);//98  低--->高
26          System.out.println((char)c1);//b
27 28          System.out.println("===============================");
29          //注意溢出问题
30          //JDK7新特性,数字可以用下划线分割
31          int money = 10_0000_0000;
32          int years = 20;
33          int total = money * years;
34          System.out.println(money);//1000000000
35          System.out.println(total);//溢出了,-1474836480
36 37          long total2 = money * years;//溢出了,-1474836480
38                                      //先计算,计算结果为int类型,然后再把结果转化为long类型
39          System.out.println(total2);
40 41          long total3 = money * ((long)years);//20000000000
42          System.out.println(total3);
43 44      }
45  }
posted @ 2022-02-28 21:35  暴躁C语言  阅读(52)  评论(0编辑  收藏  举报