Java中的基本数据类型

38 阅读3分钟

在Java中,String不被视为基本数据类型(primitive data type),而是一个引用类型(reference type)。尽管它在使用上非常常见和重要,但它的本质是一个对象,而不是基本数据类型。

1. 整数类型

1.1 byte

  • 大小:8位(1字节)
  • 取值范围:-128 到 127
  • 默认值:0
  • 用途:用于节省内存,在大型数组中使用;也可用于代替较小的数值(如年龄、标识符等)。
byte a = 100;
byte b = -50;

1.2 short

  • 大小:16位(2字节)
  • 取值范围:-32,768 到 32,767
  • 默认值:0
  • 用途:比byte更大一些的范围,同样用于节省内存。
short a = 10000;
short b = -20000;

1.3 int

  • 大小:32位(4字节)
  • 取值范围:-2,147,483,648 到 2,147,483,647
  • 默认值:0
  • 用途:最常用的整数类型,适用于大多数整数运算。
int a = 100000;
int b = -200000;

1.4 long

  • 大小:64位(8字节)
  • 取值范围:-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
  • 默认值:0L
  • 用途:用于需要更大范围的整数值,尤其是科学计算和金融应用。
long a = 100000L;
long b = -200000L;

2. 浮点类型

2.1 float

  • 大小:32位(4字节)
  • 取值范围:约±3.40282347E+38F(6-7位有效数字)
  • 默认值:0.0f
  • 用途:用于需要节省内存的大范围小数值,不推荐用于精确值(如货币)。
float a = 234.5f;

2.2 double

  • 大小:64位(8字节)
  • 取值范围:约±1.79769313486231570E+308(15位有效数字)
  • 默认值:0.0d
  • 用途:最常用的浮点数类型,适用于大多数小数运算。
double a = 123.4;

3. 字符类型

char

  • 大小:16位(2字节)
  • 取值范围:0 到 65,535(表示单个16位Unicode字符)
  • 默认值:'\u0000'
  • 用途:用于存储字符(如字母、数字、符号)。
char a = 'A';
char b = '\u0041'; // Unicode表示的字符'A'

4. 布尔类型

boolean

  • 大小:虚拟机规范未定义具体大小
  • 取值范围:true 和 false
  • 默认值:false
  • 用途:用于表示真或假。
boolean a = true;
boolean b = false;

总结

数据类型大小取值范围默认值
byte8位-128 到 1270
short16位-32,768 到 32,7670
int32位-2,147,483,648 到 2,147,483,6470
long64位-9,223,372,036,854,775,808 到 9,223,372,036,854,775,8070L
float32位约±3.40282347E+38F(6-7位有效数字)0.0f
double64位约±1.79769313486231570E+308(15位有效数字)0.0d
char16位0 到 65,535'\u0000'
boolean虚拟机未定义true 和 falsefalse