当前位置: 代码迷 >> 综合 >> day06 java基础 类型转换
  详细解决方案

day06 java基础 类型转换

热度:11   发布时间:2024-01-17 14:48:23.0

java基础

类型转换

强转和自动转

        int i = 128;byte b = (byte) i;//内存溢出double c = i;//强制转换(类型)变量名 高--低//自动转换(类型)变量名 低--高System.out.println(i);//128System.out.println(b);//-128System.out.println(c);//128.0/*注意点:1.不能对布尔值进行转换2.不能把对象类型转换为不相干的类型3.在把高容量转换到低容量的时候,强制转换4.转换的时候可能存在内存溢出,或者精度问题!*/System.out.println((int) 23.7);//23System.out.println((int) -45.89f);//-45char s='a';int d=s+1;System.out.println(d);//98System.out.println((char)d);//b

注意问题

        //操作比较大的数的时候,注意溢出问题//JDK7新特性,数字之间可以用下划线分割int money =10_0000_0000;System.out.println(money);//输出不会出现下划线int years =20;int total= money*years;//-1474836480,计算的时候数据溢出System.out.println(total);long total2=money*years;System.out.println(total2);//-1474836480 默认是int,计算完才转化为long,转换之前已经存在问题了long total3=money*(long)years;//先把一个数转换为long类型System.out.println(total3);//20000000000System.out.println(total3);//20000000000
  相关解决方案