运算中,不同类型的数据要先转换为同一类型,才能计算
强制类型转换和自动类型转换
import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;
import javax.swing.*;
public class Demo04 {
public static void main(String[] args) {
/*
从低到高
byte,short,char➡int➡long➡float➡double
*/
int i=128;
/*
强制转换 从高到低
(类型) 变量名
*/
byte b=(byte) i;
System.out.println(i); //128
System.out.println(b); //-128
//byte最大值127,赋值128,导致内存溢出
//自动转换 从低到高
double b1=i;
System.out.println(b1);
/*
注意点:
1,不能对布尔值进行转换
2,不能把对象类型转换为不相干的类型
3.从高到低强制转换
4,转换的时候可能存在内存溢出或精度问题
*/
System.out.println("-----------------------------------");
//精度问题
System.out.println((int) 234.9); //234
System.out.println((int) -343.9f); //-343
System.out.println("------------------------------------");
char cc ='a';
int ii =cc+1;
System.out.println((int) cc);
System.out.println(ii);
System.out.println((char) ii);
}
}
运行结果