饥人谷java体系课

原生数据类型

• byte - 1个字节 -128~127

• short - 2个字节

二进制位数:16
包装类:java.lang.Short
最小值:Short.MIN_VALUE=-32768 (-2的15此方)
最大值:Short.MAX_VALUE=32767 (2的15次方-1)

• int - 4个字节

二进制位数:32
包装类:java.lang.Integer
最小值:Integer.MIN_VALUE= -2147483648 (-2的31次方)
最大值:Integer.MAX_VALUE= 2147483647 (2的31次方-1)
最大能存储21亿
16进制 0x
8进制 0
2进制 0b

• long - 8个字节

long number=xxxxxl
long 二进制位数:64
包装类:java.lang.Long
最小值:Long.MIN_VALUE=-9223372036854775808 (-2的63次方)
最大值:Long.MAX_VALUE=9223372036854775807 (2的63次方-1)

• float - 4个字节

浮点数具有不准确性,在计算机中是一个近似的表示
float number=xxxxf
float 二进制位数:32
包装类:java.lang.Float
最小值:Float.MIN_VALUE=1.4E-45 (2的-149次方)
最大值:Float.MAX_VALUE=3.4028235E38 (2的128次方-1)

• double - 8个字节

double number=xxxxd
double 二进制位数:64
包装类:java.lang.Double
最小值:Double.MIN_VALUE=4.9E-324 (2的-1074次方)
最大值:Double.MAX_VALUE=1.7976931348623157E308 (2的1024次方-1)

• char - 2个字节

• boolean - true/false

只能有两种状态 true、false

引用数据类型(对象)

基本数据类型对应的装箱类型

• 容器类不接受原⽣数据类型
• 可以赋值为null
• 提供额外的⽅法
• ⾃动装箱与拆箱

Byte

Short

Integer

Long

Float

Double

Character

Boolean

有三种状态 true、false、false、null

Void

==与equals()约定
==比较二者是否相同 同一性
equals() 比较两者是不是相等

数组类型

声明属性的三种方法
int[] a=new int[12]
int[] b=new int[]{1,2,3}
int[] c={1,2,3}
int[][] d=new int[]{{},{}}
数组的主要特性
声明之后长度不可变
类型安全 声明数组类型后不可放入其他类型
只有一个lenth属性
可使用增强for循环迭代

练习

  1. // Cast an int to byte
  2. // 将int类型转换成byte
  3. public static byte int2byte(int i) {
  4. return (byte) i;
  5. }
  6. // Cast an int to short
  7. // 将int类型转换成short
  8. public static short int2short(int i) {
  9. return (short) i;
  10. }
  11. // Cast an int to char
  12. // 将int类型转换成char
  13. public static char int2char(int i) {
  14. return (char) i;
  15. }
  16. // Cast an int to String, e.g. 123 -> "123"
  17. // 将一个整数转换为字符串,例如,将123转换成字符串"123"
  18. public static String int2String(int i) {
  19. return Integer.toString(i);
  20. }
  21. // Cast an String to int, e.g. "123" -> 123
  22. // 将一个字符串转换成整数,例如,将字符串"123"转换成整数123
  23. public static int string2int(String s) {
  24. return Integer.parseInt(s);
  25. }
  26. // Cast an String to double, e.g. "1.23" -> 1.23
  27. // 将一个字符串转换成double类型,例如,将字符串"1.23"转换成1.23
  28. public static double string2double(String s) {
  29. return Double.parseDouble(s);
  30. }
  31. // Cast an Long to int
  32. // 将Long类型转换成int
  33. public static int Long2int(Long l) {
  34. return Integer.parseInt(String.valueOf(l));
  35. }
  36. // Cast an Double to long
  37. // 将Double类型转换成long
  38. public static long double2Long(Double d) {
  39. return new Double(d).longValue();
  40. }