Java 数据类型

创建于 2024-12-02 / 32
字体: [默认] [大] [更大]

Java 数据类型

如前一章所述,Java中的变量必须是指定的数据类型:

实例

int myNum = 5;               // 整数(整数)
float myFloatNum = 5.99f;    // 浮点数
char myLetter = 'D';         // 字符
boolean myBool = true;       // Boolean
String myText = "Hello";     // 字符串

运行实例 »

数据类型分为两组:

  • 基本数据类型 - 包括 byte, short, int, long, float, double, booleanchar
  • 非基本数据类型 - 例如 String, ArraysClasses (您将在后面的章节中了解更多)

基本数据类型

基本数据类型指定变量值的大小和类型,并且没有其他方法。

Java 中有八种基本数据类型:

数据类型 大小 描述
byte 1 byte 存储从 -128 到 127 的整数
short 2 bytes 存储从 -32,768 到 32,767 的整数
int 4 bytes 存储从 -2,147,483,648 到 2,147,483,647 的整数
long 8 bytes 存储从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 的整数
float 4 bytes 存储小数。 足以存储 6 到 7 个十进制数字
double 8 bytes 存储小数。 足以存储 15 位十进制数字
boolean 1 bit 存储 true 或 false 值
char 2 bytes 存储单个字符/字母或 ASCII 值

数字

原始数字类型分为两组:

整数类型 存储整数、正数或负数(例如 123 或 -456),没有小数。 有效类型为 byte, short, intlong。 您应该使用哪种类型,取决于数值。

浮点类型 表示带有小数部分的数字,包含一个或多个小数。 有两种类型: floatdouble

尽管 Java 中有许多数字类型,但最常用于数字的是 int (整数)和 double(浮点数)。 但是,当您继续阅读时,我们将对其进行全部描述。



整数类型

Byte

byte 数据类型可以存储从 -128 到 127 的整数。当您确定值将在 -128 和 127 之间时,可以使用它代替 int 或其他整数类型来节省内存:

实例

byte myNum = 100;
System.out.println(myNum);

运行实例 »

Short

short 数据类型可以存储从 -32768 到 32767 的整数:

实例

short myNum = 5000;
System.out.println(myNum);

运行实例 »

Int

int 数据类型可以存储从 -2147483648 到 2147483647 的整数。通常,在我们的教程中,当我们使用数值创建变量时,int 数据类型是首选数据类型。

实例

int myNum = 100000;
System.out.println(myNum);

运行实例 »

Long

long 数据类型可以存储从 -9223372036854775808 到 9223372036854775807 的整数。这用于 int 不足以存储值的情况。 请注意,您应该以"L"结束值:

实例

long myNum = 15000000000L;
System.out.println(myNum);

运行实例 »


浮点类型

当您需要带小数的数字时,您应该使用浮点类型,例如 9.99 或 3.14515。

Float

float 数据类型可以存储从 3.4e−038 到 3.4e+038 的小数。 请注意,您应该以"f"结束值:

实例

float myNum = 5.75f;
System.out.println(myNum);

运行实例 »

Double

double 数据类型可以存储从 1.7e-308 到 1.7e+308 的小数。 请注意,您应该以"d"结束值:

实例

double myNum = 19.99d;
System.out.println(myNum);

运行实例 »

使用浮点数还是双精度数?

浮点值的精度表示该值在小数点后可以有多少位。 float 的精度只有 6 位或 7 位十进制数字,而 double 变量的精度约为 15 位。 因此,在大多数计算中使用 double 会更安全。

科学数字

浮点数也可以是科学数字,带有"e"来表示 10 的幂:

实例

float f1 = 35e3f;
double d1 = 12E4d;
System.out.println(f1);
System.out.println(d1);

运行实例 »


布尔值

布尔数据类型使用 boolean 关键字声明,并且只能取值 truefalse:

实例

boolean isJavaFun = true;
boolean isFishTasty = false;
System.out.println(isJavaFun);     // 输出 true
System.out.println(isFishTasty);   // 输出 false

运行实例 »

布尔值主要用于条件测试,您将在后面的章节中了解更多信息。


字符

char 数据类型用于存储单个字符。 字符必须用单引号括起来,例如 'A' or 'c':

实例

char myGrade = 'B';
System.out.println(myGrade);

运行实例 »

或者,您可以使用 ASCII 值来显示某些字符:

实例

char a = 65, b = 66, c = 67;
System.out.println(a);
System.out.println(b);
System.out.println(c);

运行实例 »

提示: 所有 ASCII 值的列表可以在我们的 ASCII 参考 中找到。


Strings 字符串

String 字符串数据类型用于存储字符序列(文本)。 字符串值必须用双引号括起来:

实例

String greeting = "Hello World";
System.out.println(greeting);

运行实例 »

String 类型在 Java 中被大量使用和集成,以至于有人称它为"特殊的第九种类型"。

Java 中的 String 实际上是一种非原始数据类型,因为它引用了一个对象。 String 对象具有用于对字符串执行某些操作的方法。 如果您还不了解"对象"一词,请不要担心。 我们将在后面的章节中学习更多关于字符串和对象的知识。


非原始数据类型

非原始数据类型称为引用类型,因为它们引用对象。

原始数据类型和非原始数据类型之间的主要区别是:

  • 原始类型在 Java 中是预定义的(已经定义的)。 非原始类型由程序员创建,不是由 Java 定义的(String除外)。
  • 非原始类型可以用来调用方法来执行某些操作,而原始类型不能。
  • 原始类型始终有一个值,而非原始类型可以为 null
  • 原始类型以小写字母开头,而非原始类型以大写字母开头。
  • 原始类型的大小取决于数据类型,而非原始类型的大小都相同。

非原始类型的示例有 Strings, Arrays, Classes,
Interface等。您将在后面的章节中了解有关这些的更多信息。


学习训练

练习题:

为以下变量添加正确的数据类型:

 myNum = 9;
 myFloatNum = 8.99f;
 myLetter = 'A';
 myBool = false;
 myText = "Hello World";

开始练习




0 人点赞过