java关于基本类型及转化与进制
java基本数据类型和进制
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);
long a=10678251552789L;
int b=20;
short c=1;
byte d=10;
System.out.println(a+b+c+d); //long
// 若多个操作数中有一个为long,则结果也为long;
// 若多个操作数中有一个为double,则结果也为double;
// 其他结果都为int
System.out.println(c+d); //int
System.out.println(c/d); //0
System.out.println(c/(double)d); //0.1
}
}
java类型转换与舍入
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
}
}
浙公网安备 33010602011771号