Java的8种基本数据类型
关于Java的8种基本数据类型,其名称、位数、默认值、取值范围及示例如下表所示:
序号 |
数据类型 |
位数 |
默认值 |
取值范围 |
举例说明 |
1 | byte(位) | 8 | 0 | -2^7 - 2^7-1 | byte b = 10; |
2 | short(短整数) | 16 | 0 | -2^15 - 2^15-1 | short s = 10; |
3 | int(整数) | 32 | 0 | -2^31 - 2^31-1 | int i = 10; |
4 | long(长整数) | 64 | 0 | -2^63 - 2^63-1 | long l = 10l; |
5 | float(单精度) | 32 | 0.0 | -2^31 - 2^31-1 | float f = 10.0f; |
6 | double(双精度) | 64 | 0.0 | -2^63 - 2^63-1 | double d = 10.0d; |
7 | char(字符) | 16 | 空 | 0 - 2^16-1 | char c = 'c'; |
8 | boolean(布尔值) | 8 | false | true、false | boolean b = true; |
为了验证表格里的内容,在eclipse里运行验证代码如下:
1 package com.ce.test; 2 3 class Test { 4 static byte b; 5 static short s; 6 static int i; 7 static long l; 8 static float f; 9 static double d; 10 static char c; 11 static boolean bo; 12 13 public static void main(String[] args) { 14 15 System.out.println("byte的大小:"+Byte.SIZE 16 +";默认值:"+b 17 +";数据范围:"+Byte.MIN_VALUE+" - "+Byte.MAX_VALUE); 18 19 System.out.println("short的大小:"+Short.SIZE 20 +";默认值:"+s 21 +";数据范围:"+Short.MIN_VALUE+" - "+Short.MAX_VALUE); 22 23 System.out.println("int的大小:"+Integer.SIZE 24 +";默认值:"+i 25 +";数据范围:"+Integer.MIN_VALUE+" - "+Integer.MAX_VALUE); 26 27 System.out.println("long的大小:"+Long.SIZE 28 +";默认值:"+l 29 +";数据范围:"+Long.MIN_VALUE+" - "+Long.MAX_VALUE); 30 31 System.out.println("float的大小:"+Float.SIZE 32 +";默认值:"+f 33 +";数据范围:"+Float.MIN_VALUE+" - "+Float.MAX_VALUE); 34 35 System.out.println("double的大小:"+Double.SIZE 36 +";默认值:"+d 37 +";数据范围:"+Double.MIN_VALUE+" - "+Double.MAX_VALUE); 38 39 System.out.println("char的大小:"+Character.SIZE 40 +";默认值:"+c 41 +";数据范围:"+Character.MIN_VALUE+" - "+Character.MAX_VALUE); 42 43 System.out.println("boolean的大小:"+Byte.SIZE 44 +";默认值:"+bo 45 +";数据范围:"+Byte.MIN_VALUE+" - "+Byte.MAX_VALUE); 46 47 } 48 }
在控制台输出结果如下图所示:
此处为什么输出char的数据范围不是0 - 65535呢?
Java中的char类型由两个字节即十六位来表示,因为是无符号数,所以为2的16次方,数值范围就为:0 - 2^16-1;