Java基础语法
数据类型转换
由于Java是强类型语言,再进行一些运算的时候,需要用到类型转换。
低····························>高
byte,short,char -->int--> long -->float -->double
注意:小数优先级大于整数
运算中,不同类型的数据先转换为同一类型。然后进行运算。
强制类型转换
自由类型转换
public class demo01
{
public static void main(String[] args) {
int i=128;
//Byte 小技巧按住ctrl点击可以查看方法对应byte
byte b=(byte)i;//强制转换格式 (类型)变量 高到低
double d=(double)i;//自由转换格式 (类型)变量 低到高
System.out.println(i);//sout便捷编码
System.out.println(b);//数据溢出(byte值最大127, b输出-128)
System.out.println(d);
/*
注意点:
1.布尔类型不能进行类型转换;
2.不能把对象类型转换为不相干类型;
3.转换时存在精度问题,内存溢出;
*/
System.out.println("==========================");
System.out.println((int)23.7);
System.out.println((int)23.79f);
System.out.println((int)-23.19f);
System.out.println("==========================");
char c='a'; //assic码值97
int q=c+1;
System.out.println(q);
System.out.println((char)q);
//常见问题
//操作比较大的数字时,注意数据溢出
//小技巧:jdk7在数字中可用下环线分割,明了,不影响输出
int money =10_0000_0000;
int years =20;
int total =money*years;//-1474836480,计算溢出
long total2= money*years;//-1474836480,计算时过程可能出现问题
long total3 = (long)money*years;//先将任一转变为long类型
System.out.println("==========================");
System.out.println(total);
System.out.println(total2);
System.out.println(total3);
//技术规范,用大写L,小写在代码中像1
}}
128
-128
128.0
==========================
23
23
-23
==========================
98
b
==========================
-1474836480
-1474836480
20000000000
进程已结束,退出代码为 0