Java - 基本数据类型


变量只不过是用于存储值的保留内存位置。这意味着当您创建变量时,您会在内存中保留一些空间。

根据变量的数据类型,操作系统分配内存并决定保留内存中可以存储的内容。因此,通过为变量分配不同的数据类型,您可以在这些变量中存储整数、小数或字符。

Java 中有两种可用的数据类型 -

  • 原始数据类型
  • 引用/对象数据类型

原始数据类型

Java 支持八种基本数据类型。原始数据类型由语言预定义并由关键字命名。现在让我们详细研究八种基本数据类型。

字节

  • 字节数据类型是一个 8 位有符号二进制补码整数

  • 最小值为-128 (-2^7)

  • 最大值为 127(含)(2^7 -1)

  • 默认值为 0

  • 字节数据类型用于节省大型数组中的空间,主要是代替整数,因为字节比整数小四倍。

  • 示例 - 字节 a = 100,字节 b = -50

短的

  • 短数据类型是 16 位有符号二进制补码整数

  • 最小值为 -32,768 (-2^15)

  • 最大值为 32,767(含)(2^15 -1)

  • 短数据类型也可以用作字节数据类型来节省内存。短整型比整数小 2 倍

  • 默认值为 0。

  • 示例 - 短 s = 10000,短 r = -20000

整数

  • Int 数据类型是 32 位有符号二进制补码整数。

  • 最小值为 - 2,147,483,648 (-2^31)

  • 最大值为 2,147,483,647(含) (2^31 -1)

  • 除非担心内存问题,否则整数通常用作整数值的默认数据类型。

  • 默认值为 0

  • 示例 - 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)
  • 当需要比 int 更宽的范围时使用此类型
  • 默认值为 0L
  • 示例 - 长 a = 100000L,长 b = -200000L

漂浮

  • Float 数据类型是单精度 32 位 IEEE 754 浮点

  • Float主要用于在大型浮点数数组中节省内存

  • 默认值为 0.0f

  • 浮点数据类型从不用于精确值,例如货币

  • 示例 - 浮点 f1 = 234.5f

双倍的

  • double 数据类型是双精度 64 位 IEEE 754 浮点

  • 该数据类型一般作为十进制值的默认数据类型,一般默认选择

  • 双精度数据类型切勿用于精确值,例如货币

  • 默认值为 0.0d

  • 示例 - 双 d1 = 123.4

布尔值

  • 布尔数据类型表示一位信息

  • 只有两个可能的值:true 和 false

  • 此数据类型用于跟踪真/假条件的简单标志

  • 默认值为 false

  • 示例 - 布尔值 1 = true

字符

  • char 数据类型是单个 16 位 Unicode 字符

  • 最小值为“\u0000”(或 0)

  • 最大值为 '\uffff'(或 65,535(含))

  • Char数据类型用于存储任意字符

  • 示例 - 字符 letterA = 'A'

例子

以下示例显示了我们上面讨论的各种原始数据类型的用法。我们对数字数据类型使用了添加操作,而布尔和字符变量则按此方式打印。

public class JavaTester {
   public static void main(String args[]) {

      byte byteValue1 = 2;
      byte byteValue2 = 4;
      byte byteResult = (byte)(byteValue1 + byteValue2);

      System.out.println("Byte: " + byteResult);

      short shortValue1 = 2;
      short shortValue2 = 4;
      short shortResult = (short)(shortValue1 + shortValue2);

      System.out.println("Short: " + shortResult);

      int intValue1 = 2;
      int intValue2 = 4;
      int intResult = intValue1 + intValue2;

      System.out.println("Int: " + intResult);

      long longValue1 = 2L;
      long longValue2 = 4L;
      long longResult = longValue1 + longValue2;

      System.out.println("Long: " + longResult);

      float floatValue1 = 2.0f;
      float floatValue2 = 4.0f;
      float floatResult = floatValue1 + floatValue2;

      System.out.println("Float: " + floatResult);

      double doubleValue1 = 2.0;
      double doubleValue2 = 4.0;
      double doubleResult = doubleValue1 + doubleValue2;

      System.out.println("Double: " + doubleResult);

      boolean booleanValue = true;

      System.out.println("Boolean: " + booleanValue);

      char charValue = 'A';

      System.out.println("Char: " + charValue);     
   }
}

输出

Byte: 6
Short: 6
Int: 6
Long: 6
Float: 6.0
Double: 6.0
Boolean: true
Char: A

参考数据类型

  • 引用变量是使用类的定义构造函数创建的。它们用于访问对象。这些变量被声明为无法更改的特定类型。例如,员工、小狗等。

  • 类对象和各种类型的数组变量属于引用数据类型。

  • 任何引用变量的默认值为 null。

  • 引用变量可用于引用声明类型或任何兼容类型的任何对象。

  • 示例:动物 Animal = new Animal("giraffe");

Java 文字

文字是固定值的源代码表示。它们直接在代码中表示,无需任何计算。

文字可以分配给任何基本类型变量。例如 -

byte a = 68;
char a = 'A';

byte、int、long 和 Short 也可以用十进制(基数 10)、十六进制(基数 16)或八进制(基数 8)数字系统表示。

当使用这些数字系统作为文字时,前缀 0 用于指示八进制,前缀 0x 指示十六进制。例如 -

int decimal = 100;
int octal = 0144;
int hexa =  0x64;

Java 中的字符串文字与大多数其他语言一样,通过将字符序列括在一对双引号之间来指定。字符串文字的示例是 -

例子

"Hello World"
"two\nlines"
"\"This is in quotes\""

String 和 char 类型的文字可以包含任何 Unicode 字符。例如 -

char a = '\u0001';
String a = "\u0001";

例子

以下示例显示了我们上面讨论的各种文字的用法。

public class JavaTester {
   public static void main(String args[]) {

      int decimal = 100;
      int octal = 0144;
      int hexa =  0x64;

      System.out.println(decimal);
      System.out.println(octal);
      System.out.println(hexa);

      String msg1 = "Hello World";
      String msg2 = "two\nlines";
      String msg3 = "\"This is in quotes\"";

      System.out.println(msg1);
      System.out.println(msg2);
      System.out.println(msg3);

      char a = '\u0064';
      String msg4 = "\u0064";

      System.out.println(a);
      System.out.println(msg4);   
   }
}

输出

100
100
100
Hello World
two
lines
"This is in quotes"
d
d

Java 语言还支持 String 和 char 文字的一些特殊转义序列。他们是 -

符号 代表人物
\n 换行符 (0x0a)
\r 回车符(0x0d)
\F 换页 (0x0c)
\b 退格键 (0x08)
\s 空间(0x20)
\t 标签
\" 双引号
\' 单引号
\\ 反斜杠
\ddd 八进制字符 (ddd)
\uxxxx 十六进制 UNICODE 字符 (xxxx)

下一步是什么?

本章解释了各种数据类型。下一个主题解释不同的变量类型及其用法。这将使您更好地理解如何在 Java 类、接口等中使用它们。