packagecom.Chao.base;publicclassDemo04{publicstaticvoidmain(String[] args){int i =128;double b = i;//byte b = (byte)i;//内存溢出//强制类型转换 (类型)变量名 高--低//自动转换 低--高System.out.println(i);System.out.println(b);/*注意点:
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.在把高容量转换到低容量的时候,强制转换
4.转换的时候可能存在内存溢出,或者精度问题!
*/System.out.println("==============================");System.out.println((int)23.7);//23System.out.println((int)-45.89f);//-45System.out.println("==============================");char c ='a';int d = c+1;System.out.println(d);//98System.out.println((char)d);//b}}
1.1、类型转换时的数值溢出
packagecom.Chao.base;publicclassDemo05{publicstaticvoidmain(String[] args){//操作比较大的数的时候,注意溢出问题//JDK7新特性,数字之间可以用下划线分割int money =10_0000_0000;int year =20;int total = money*year;System.out.println(total);//-1474836480,计算的时候溢出了long total2 = money*year;//默认是int,转换之前已经存在问题了?long total3 = money*((long)year);//先把一个数值转换为longSystem.out.println(total3);//20000000000//L l 大写的L和小写的l优先大写的L,因为小写的l和1类似,容易误读}}
1.2、参数定义尽量避免同时同行赋值
packagecom.Chao.base;publicclassDemo06{publicstaticvoidmain(String[] args){//int a,b,c;//int a=1,b=2,c=3; //程序可读性String name ="xinmo";char x ='X';double pi =3.14;}}
二、变量
packagecom.Chao.base;publicclassDemo07{//类变量 staticstaticdouble salary =2500;//属性:变量//实例变量:从属于对象;如果不自行初始化,这个类型的默认值 0 0.0//布尔值:默认是false;//处理基本类型,其余的默认值都是null;String name;int age;//main方法publicstaticvoidmain(String[] args){//局部变量:必须声明和初始化值int i =10;System.out.println(i);//变量类型 变量名字 = new com.Chao.base.Demo07();Demo07 demo07 =newDemo07();System.out.println(demo07.age);System.out.println(demo07.name);//类变量 staticSystem.out.println(salary);}}
2.1、修饰符不存在先后顺序
packagecom.Chao.base;publicclassDemo08{//修饰符,不存在先后顺序staticfinaldouble PI =3.14;publicstaticvoidmain(String[] args){System.out.println(PI);}}