在 Java 中,数据类型用于指定变量可以存储的不同大小和值的范围。Java 中有两种主要的数据类型:

  1. 原始数据类型(Primitive Data Types):原始数据类型是 Java 中的基本数据类型,它们包括 boolean、char、byte、short、int、long、float 和 double。这些类型用于存储基本的数据值,如整数、小数、字符和布尔值。
  1. 非原始数据类型(Non-Primitive Data Types):非原始数据类型是指类、接口和数组等复杂的数据类型。这些类型是基于原始数据类型构建的,可以用于存储更复杂的数据结构,如对象、集合和自定义数据类型。非原始数据类型不直接存储数据,而是存储对数据的引用。

Java 原始数据类型

在 Java 语言中,原始数据类型是数据操作的基础。它们是 Java 中可用的最基本的数据类型。

Java 是一种静态类型的编程语言,这意味着所有变量在使用之前必须进行声明。因此,我们需要指定变量的类型和名称。

Java 的原始数据类型共有 8 种:

  • 布尔类型(boolean)
  • 字节类型(byte)
  • 字符类型(char)
  • 短整型(short)
  • 整型(int)
  • 长整型(long)
  • 单精度浮点型(float)
  • 双精度浮点型(double)

java-data-types.png

数据类型默认值默认尺寸
布尔值错误的1位
字符'u0000'2字节
字节01字节
短的02字节
整数04字节
0升8字节
漂浮0.0f4字节
双倍的0.0d8字节

布尔数据类型

Boolean 数据类型仅用于存储两个可能的值:true 和 false。此数据类型用于跟踪真/假条件的简单标志。

Boolean 数据类型指定一位信息,但无法精确定义其“大小”。

例子:

Boolean one = false  

字节数据类型

字节数据类型是原始数据类型的一种。它是一个8位有符号二进制补码整数,范围从-128到127(包括边界值)。它的最小值是-128,最大值是127。字节数据类型的默认值是0。

字节数据类型通常在需要节省内存的大型数组中使用,以节省空间。相比于整数数据类型,字节数据类型的大小只有其四分之一,因此在某些情况下可以用它来替代整数数据类型,从而节省内存。

例子:

byte a = 10, byte b = -20  

短数据类型

short 数据类型是 16 位有符号二进制补码整数。它的取值范围在 -32,768 到 32,767(含)之间。它的最小值为-32,768,最大值为32,767。它的默认值为 0。

short 数据类型也可以像 byte 数据类型一样用于节省内存。短数据类型比整数小 2 倍。

例子:

short s = 10000, short r = -5000  

整型数据类型

int数据类型是一个32位有符号二进制补码整数。它的取值范围介于-2,147,483,648 (-2^31)到2,147,483,647 (2^31 - 1)之间(包括边界值)。它的最小值是-2,147,483,648,最大值是2,147,483,647。int数据类型的默认值是0。

在大多数情况下,如果没有内存限制,int数据类型通常被用作整数值的默认数据类型。它提供了足够的范围和精度,适用于大多数整数计算。

例子:

int a = 100000, int b = -200000  

长数据类型

long 数据类型是 64 位二进制补码整数。它的取值范围在-9,223,372,036,854,775,808(-2^63)到9,223,372,036,854,775,807(2^63 -1)(含)之间。它的最小值为 - 9,223,372,036,854,775,808,最大值为 9,223,372,036,854,775,807。它的默认值为 0。当您需要的值范围超过 int 提供的范围时,使用 long 数据类型。

例子:

long a = 100000L, long b = -200000L  

浮点数据类型

float 数据类型是单精度 32 位 IEEE 754 浮点数。其取值范围是无限的。如果需要在大型浮点数数组中节省内存,建议使用浮点数(而不是双精度数)。float 数据类型不应该用于精确值,例如货币。其默认值为 0.0F。

例子:

float f1 = 234.5f  

双数据类型

双精度数据类型是双精度的64位IEEE 754浮点数。它的取值范围是无限的,可以表示非常大或非常小的数值。double数据类型通常用于存储和计算需要更高精度的十进制值,类似于float数据类型。然而,双精度数据类型不应该用于处理要求精确值的情况,比如货币计算,因为浮点数的精度有限。

double数据类型的默认值是0.0d,表示一个零值的双精度浮点数。在大多数情况下,当没有指定具体值时,变量将被初始化为默认值。

例子:

double d1 = 12.3  

字符数据类型

char 数据类型是单个 16 位 Unicode 字符。它的取值范围在'u0000'(或0)到'uffff'(或65,535)之间。char数据类型用于存储字符。

例子:

char letterA = 'A'  

为什么 char 在 java 中使用 2 个字节,什么是 u0000 ?

这是因为java使用的是Unicode系统而不是ASCII码系统。u0000 是 Unicode 系统的最低范围。

标签: java, Java面试题, Java下载, java教程, java技术, Java学习, Java学习教程, Java语言, Java开发, Java入门教程, Java进阶教程, Java高级教程, Java笔试题, Java编程思想