基本类型
- boolean 布尔
- byte 字节
- short/int/long 短整型/整型/长整型
- float/double 浮点数
- char 字符
boolean 只有true或者false两种,默认是false
/**
* 布尔型
* @return
*/
public boolean booleanTest()
{
boolean isFals = 3==0;//is false
boolean isTrue = true;//is true not True
return isFals;
}
byte
- byte字节,1byte=8bits(8位),即00000000~11111111
- 存储有符号的,以二进制补码表示的整数
- 最小值-128,最大值127,默认值0
- byte类型用在大型数组中可以显著节约空间,主要代替小数,因为byte变量占用的空间只有int类型的四分之一
- byte在二进制文件中读写使用较多
/**
* 字节类型
*/
public void byteTest()
{
byte a = 127;//正常 且打印出来为127
byte b = -128;//正常 且打印出来为-128
byte c = -129;//打印出来为127
byte d = 128;//打印出来为-128
}
整数类型
- short,16位,2个字节,有符号的以二进制补码表述的整数(-32768-32767,-2~2-1),默认值0
- int,32位,4个字节,有符号的以二进制补码表示的的整数,(-2~2-1),默认值为0
- long,64位,8个字节,有符号的以二进制补码表示的整数,(-2~2-1),默认值为0L
/**
* 整数类型
*/
public void IntTest()
{
short a1 = 32767;//正常
short a2 = 32768;//error。越界
int b1 = 2147483647;//正常
int b2 = 2147483648;//error,越界
long c1 = 1000000000000l;//正常,需要尾部加l
long c2 = 2147483647;//隐式做了int转换
long c3 = 2147483648l;//去掉L将报错
}
浮点数类型
- float,单精度,32位,4个字节,符合IEEE 754标准的浮点数,默认值0.0f,float的范围为1.410~3.410(无论正负)
- double,双精度,64位,8个字节,符合IEEE 754标准的浮点数,默认值0.0d,double的范围为1.410~3.410(无论正负)
- float和double都不能用来表示很精确的数字
/**
* 浮点数类型
*/
public void floatTest()
{
float f1 = 1.23f;//float赋值必须带上f
double d1 = 4.56d;
double d2 = 4.56;//double可以省略d
System.out.println(f1);//1.23
System.out.println((double) f1);//转换到double,输出1.23000000190734863
System.out.println(d1);//4.56
System.out.println((float)d2);//4.56
System.out.println(f1==1.229999999f);//true
System.out.println(d2==4.5599999999999999999d);//true
}
字符类型
- char是一个单一的16位Unicode字符
- 最小值是\u0000(即为0)
- 最大值是\uffff(即为65535)
- char数据类型可以存储任何字符
运算符
- +,-,*,/,%
- 逻辑运算符&&,||,!
- 比较运算符 !=,>,>=,<,<=,==
- 移位运算符>>,<<等
- 不要背诵运算符优先级,有括号隔开即可