数据类型(超详细)

数据类型(超详细)

思维导图


数据类型(超详细)_第1张图片

 

整数型

byte num1=10;
int num2=20;
short num3=30;
long num4=40L;//long类型要在数字后面加一个L

浮点型

float num5=50.1F;//float类型要在数字后面加一个F
double num6=3.1415926;

字符型

char name='好';
//字符串;String不是关键字,是类
String name1="吉吉国王";

布尔型

布尔值:是非
boolean flag=true;
boolean flag1=false;

整数扩展

整数扩展:进制   二进制0b   十进制   八进制0   十六进制0x
int i1=0b10;//2
int i2=10;//10
int i3=010;//8
int i4=0x10;//16

浮点数扩展

//浮点数扩展
//银行业务怎么表示?钱  用 BigDecimal  数学工具类
//float 有限 离散 舍入误差 大约 接近但不等于
//最好完全不用浮点数进行比较
float f=0.1f;
double d=1.0/10;
System.out.println(f);//0.1
System.out.println(d);//0.1
System.out.println(f==d);//false
​
float f1=2313131312312312313F;
float f2=f1+1;
System.out.println(f1==f2);//true

 //new 实例化
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

类型转换

//类型转换
//小转大,自动类型转换      大转小(溢出),强制类型转换
//由低到高 byte   short   char   int   long   float   double
//强制转化  (类型:低)变量名    由高到低
float a=3.1415926F;
int b=(int)a;
System.out.println(b);//3
​
System.out.println((int)3.1415926);//3
System.out.println((int)-3.1f);//-3

数据溢出

//操作比较大的数时,注意溢出的问题
//JDK7新特性,数字之间可以用下划线分割
int money=10_0000_0000;
int year=30;
int total=money*year;//-64771072 ,溢出了
long total1=money*year;//默认是int,要先转换
long total2=money*((long)year);//先把一个数转换为long
System.out.println(total2);//30000000000
System.out.println(total);//-64771072
System.out.println(total1);//-64771072
System.out.println(money);//1000000000

你可能感兴趣的:(java)