基本类型

  • boolean 布尔
  • byte 字节
  • short/int/long 短整型/整型/长整型
  • float/double 浮点数
  • char 字符

boolean 只有true或者false两种,默认是false

  1. /**
  2. * 布尔型
  3. * @return
  4. */
  5. public boolean booleanTest()
  6. {
  7. boolean isFals = 3==0;//is false
  8. boolean isTrue = true;//is true not True
  9. return isFals;
  10. }

byte

  • byte字节,1byte=8bits(8位),即00000000~11111111
  • 存储有符号的,以二进制补码表示的整数
  • 最小值-128,最大值127,默认值0
  • byte类型用在大型数组中可以显著节约空间,主要代替小数,因为byte变量占用的空间只有int类型的四分之一
  • byte在二进制文件中读写使用较多
  1. /**
  2. * 字节类型
  3. */
  4. public void byteTest()
  5. {
  6. byte a = 127;//正常 且打印出来为127
  7. byte b = -128;//正常 且打印出来为-128
  8. byte c = -129;//打印出来为127
  9. byte d = 128;//打印出来为-128
  10. }

整数类型

  • short,16位,2个字节,有符号的以二进制补码表述的整数(-32768-32767,-2~2-1),默认值0
  • int,32位,4个字节,有符号的以二进制补码表示的的整数,(-2~2-1),默认值为0
  • long,64位,8个字节,有符号的以二进制补码表示的整数,(-2~2-1),默认值为0L
  1. /**
  2. * 整数类型
  3. */
  4. public void IntTest()
  5. {
  6. short a1 = 32767;//正常
  7. short a2 = 32768;//error。越界
  8. int b1 = 2147483647;//正常
  9. int b2 = 2147483648;//error,越界
  10. long c1 = 1000000000000l;//正常,需要尾部加l
  11. long c2 = 2147483647;//隐式做了int转换
  12. long c3 = 2147483648l;//去掉L将报错
  13. }

浮点数类型

  • 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都不能用来表示很精确的数字
  1. /**
  2. * 浮点数类型
  3. */
  4. public void floatTest()
  5. {
  6. float f1 = 1.23f;//float赋值必须带上f
  7. double d1 = 4.56d;
  8. double d2 = 4.56;//double可以省略d
  9. System.out.println(f1);//1.23
  10. System.out.println((double) f1);//转换到double,输出1.23000000190734863
  11. System.out.println(d1);//4.56
  12. System.out.println((float)d2);//4.56
  13. System.out.println(f1==1.229999999f);//true
  14. System.out.println(d2==4.5599999999999999999d);//true
  15. }

字符类型

  • char是一个单一的16位Unicode字符
  • 最小值是\u0000(即为0)
  • 最大值是\uffff(即为65535)
  • char数据类型可以存储任何字符

运算符

  • +,-,*,/,%
  • 逻辑运算符&&,||,!
  • 比较运算符 !=,>,>=,<,<=,==
  • 移位运算符>>,<<等
  • 不要背诵运算符优先级,有括号隔开即可