1 package com.Lucky.base;
2
3 public class typeTransition {
4 public static void main(String[] args) {
5 //类型转换
6 //低到高 byte,short,char -- int -- long -- float --double
7
8 /*
9 注意点: 1.存在内存溢出问题
10 2.精度丢失
11 3.不能对boolean进行转换
12 */
13 //强制类型转换[高转换低]
14 //自动转换[低转换高]
15
16
17 System.out.println((int) 23.7f); //高转换成低
18 char c1='A'; //uncode编码中的A是65
19 int i2=c1+1;
20 System.out.println(i2);//66
21
22
23
24
25 //拓展:内存溢出问题
26 //jdk7新特性: _
27 int d=10_0000_0000;
28 int day=20;
29 int total=d * day;
30 System.out.println(total);//内存溢出【超出了Int的范围值:20亿左右】
31
32 //解决方案:提前将 数据类型转换
33 //1初步尝试:[错误]
34 long total1=d * day;
35 System.out.println(total1);//内存溢出,问题出现在已经将数据计算完才将数据类型转换
36
37 //2再次尝试:[正确]
38 long total2=d * (long) day;
39 System.out.println(total1);//在计算之前将数据类型转换
40 }
41 }