-->Java数据类型

Java基本数据类型_基本数据类型

-->java基本数据类型
Java基本数据类型_基本数据类型_02

第一种:boolean  

//boolean只有两个取值:true和false,默认值为false
boolean b1 = true;	//true为布尔型直接量
boolean b2 = false;	//false为布尔型直接量
boolean b3 = 250;	//编译错误,数据类型不匹配

第二种:byte

//byte数据类型是8位、有符号,最小值-128,最大值127,默认值为0
byte b1 = 5;
byte b2 = 6;
byte b3 = 128;	//报错,赋值过大

第三种:short

//short数据类型是16位、有符号,最小值是-32768,最大值是32767,默认值是0
short s = 18;

第四种:int

//int数据类型是32位、有符号,默认值为0
//最小值是-2,147,483,648;最大值是2,147,483,647
int a=250; 			//250为整型直接量,默认为int型
int b=10000000000; 	//编译错误,100亿默认为int型,但超范围了
int c=5.6; 			//编译错误,数据类型不匹配
//整数相除,结果还是整数,小数位无条件舍弃
System.out.println(5/2); 	//2,小数位舍弃了
System.out.println(2/5); 	//0,小数位舍弃了
System.out.println(5.0/2); 	//2.5
int d=2147483647;
d=d+1;
System.out.println(d); //溢出了,是需要避免的

第五种:long

//long数据类型是64位、有符号,默认值为0L;
//最小值是-9,223,372,036,854,775,808
//最大值是9,223,372,036,854,775,807
long a=250L; //250L为长整型直接量
long b=10000000000; 	//编译错误,100亿默认为int型,但超范围了
long c=10000000000L;	//100亿L为long型
//运算时有可能溢出建议第一个数字后加L,而且尽量不要写l(和数字1区分)
long d=1000000000*2*10L;
System.out.println(d); //200亿
long e=1000000000*3*10L;
System.out.println(e); //肯定不是300亿
long f=1000000000L*3*10;
System.out.println(f); //300亿
//获取自1970.1.1零时到此时此刻的毫秒数
long g=System.currentTimeMillis();
System.out.println(g);

第六种:float

//float数据类型是单精度、32位,默认值为0.0F;
float b=3.14F; //3.14F为float的直接量

第七种:double

//double数据类型是双精度、64位,默认值是0.0d;
//double类型同样不能表示精确的值,如货币;
double a=3.14159; //3.14159为浮点型直接量,默认为double型
//double运算时会有舍入误差,所以精确运算场不能用
double c=6.0;
double d=4.9;
System.out.println(c-d); //1.0999999999996,舍入误差

第八种:char

//char类型是一个单一的16位Unicode字符,可以储存任何字符
//char:字符型。2个字节 必须放在单引号中,有且仅有一个
char c1 = '女';
char c2 = 'f';
char c3 = '8';
char c4 = ' ';
char c5 = 你;	//编译错误,必须放在单引号中
char c6 = '你好';	//编译错误,必须一个字符
char c7 = '';	//编译错误,必须有一个字符
char c8 = 97;	//数字必须在0到65535之间
System.out.prinln(c8);		//a
System.out.println(2+2);	//4
System.out.println('2'+'2');	//100,'2'的码50,加上'2'的码50
char c9 = '\'';
System.out.println(c9);		//'

数据类型的转换

int a = 5;
long b = a;		//自动类型转换

int c = (int)b;	//强制类型转换
long d = 6;		//自动类型的转换
double e = 6;		//自动类型的转换
System.out.println(e);

long f = 10000000000L;
int g = (int)f;
System.out.println(g);	//强转有可能会溢出

double h = 65.985;
int i = (int)h;
System.out.println(i);	//强转有可能会精度丢失

byte b1 = 5;
byte b2 = 6;
byte b3 = (byte)(b1 + b2);	//int转byte
System.out.println(b3);