java8种基本数据类型 byte,short,char,int,long,float,double,boolean
java引用类型 类、接口、数组
public class Demo01 { public static void main(String[] args) { boolean flag=false; short num1=20; long num2=20L; //长整型加L或l,但l不易区分,一般用L float num3=0.1F; //单精度浮点数加F或f double num4=0.2; byte k=12; char a='A'; String b="abbajxb"; //String不是基本数据类型,也不是关键字,是一个类 int i = 10; //十进制 int i2 =010; //八进制以0开头 int i3 = 0x10; //十六进制以0x开头 int i4= 0b10; //二进制以0b开头 System.out.println(i); System.out.println(i2); System.out.println(i3); System.out.println(i4); } }
java类型由低到高为 byte,short,char,int,long,float,double
高类型到低类型需要进行强制转换,需要注意溢出问题与精度问题
低类型到高类型是自动转换
public class Demo01 { public static void main(String[] args) { float f =0.1f; double d=1.0/10; System.out.println(f==d); //false System.out.println(f); System.out.println(d); System.out.println("==========================================================="); float f1=12222222222222222222222f; float f2=f1+1; System.out.println(f1==f2); //true System.out.println("==========================================================="); String sa=new String("helloWorld"); String sb=new String("helloWorld"); System.out.println(sa==sb); //false String sc="helloWorld"; String sd="helloWorld"; System.out.println(sc==sd); //true System.out.println("==========================================================="); int i=128; byte b=(byte)i; //高类型转化为低类型需要强制转换; System.out.println(i); //128 System.out.println(b); //-128,此处发生溢出 double c=i; System.out.println(c); //低类型转化为高类型是自动转换; System.out.println("============================================================"); int money=10_0000_0000; //数字位数过多时可加入下划线来便于阅读 int years=20; long total=money*years; long total2=money*(long)years; //将一个int强制转化为long System.out.println(money); //1000000000 System.out.println(total); //-1474836480,相乘已发生溢出,再转化为long依旧是溢出状态 System.out.println(total2); //2000000000 System.out.println("============================================================"); System.out.println((int)23.7); //23 System.out.println((int)-45.7); //-45 } }