类型转换
强制类型转换
int i = 128; byte n = (byte)i; //内存溢出 System.out.println(n); //n = -128
自动转换
int i= 128; double b = i; System.out.println(b); //b = 128.0
注意事项
-
不能对布尔(boolean)类型的数据进行转换
-
不能把对象类型转换为不相干的类型
-
强制转换可能会存在内存溢出或精度问题
-
转换问题
int money = 10_0000_0000; int year = 20; int total = money * year; //内存溢出,total = -1474836480 long total1 = money * year; //类型转换失败,默认为int,total1 = -1474836480 long total2 = money * ((long)year); //转换成功
JDK7 新特性
int money = 10_0000_0000; System.out.println(money); //money = 1000000000
变量
public class Demo{ //类变量 static static double salary = 2500; //实例变量 String name; int age; //main方法 public static void main(String[] args){ //局部变量,声明、初始化 int i = 10; System.out.println(i) //变量类型 变量名字 = new 类名; Demo demo = new Demo(); System.out.println(demo.age); //打印0 System.out.println(salary); //salary = 2500 } //其他方法 public void add(){ } }
常量 final
public class Demo{ //修饰符不存在先后顺序 static final double PI = 3.14; public static void main(String[] args){ System.out.println(PI); } }