java基础02 类型转换
类型转换
由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。
1. 低 ------------------------------------>高 (自动类型转换)
byte,short,char----->int------>float --->doublc
2. 高------------------------------------>低 ( 强制转换类型)
运算中,不同类型的数据先转换为同一类型,然后在进行运算。
-
注意点:1. 布尔值不能进行转换。
2. 可能存在内存溢出,或者精度问题。
例:变量=数据类型.parse数据类型 (原本的类型 变量)
//强制转换 高----->低
publc class Demo4
public static void main(String [] args)
{
int i=128;
// byte b=(byte)i;//内存溢出导致
//System.out.println(i);//128
//System.out.println(b);//-128
// 强制转换 (类型)变量名
//自动转换 低--->高
int i1=133;
float f1=i1;
// System.out.println(f1);
/*
* 注意点:1.不能对布尔值进行转换
* 2.不能把对象类型转换为不相干的类型
* 3.在把高容量转换到低容量的时候,强制转换
* 4.转换的时候可能存在内存溢出,或者精度问题!
*/
char c='a';
int d=c+1;
System.out.println(d);//98
System.out.println((char)d);//d
}
}
public class Demo05
{
public static void main(String[] args)
{
int monny=10_0000_0000;
int years=20;
int total=monny*years;
long total2=monny*years;//溢出
System.out.println(total2);//默认为int,转换之前已经存在问题了?
long total3=(long)monny*years;//先把一个数转换为long
System.out.println(total3);
}
}