Java 数据类型
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
,boolean
和char
- 非基本数据类型 - 例如 String, Arrays 和 Classes (您将在后面的章节中了解更多)
基本数据类型
基本数据类型指定变量值的大小和类型,并且没有其他方法。
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
, int
和 long
。 您应该使用哪种类型,取决于数值。
浮点类型 表示带有小数部分的数字,包含一个或多个小数。 有两种类型: float
和 double
。
尽管 Java 中有许多数字类型,但最常用于数字的是 int
(整数)和 double
(浮点数)。 但是,当您继续阅读时,我们将对其进行全部描述。
整数类型
Byte
byte
数据类型可以存储从 -128 到 127 的整数。当您确定值将在 -128 和 127 之间时,可以使用它代替 int
或其他整数类型来节省内存:
Short
short
数据类型可以存储从 -32768 到 32767 的整数:
Int
int
数据类型可以存储从 -2147483648 到 2147483647 的整数。通常,在我们的教程中,当我们使用数值创建变量时,int 数据类型是首选数据类型。
Long
long
数据类型可以存储从 -9223372036854775808 到 9223372036854775807 的整数。这用于 int 不足以存储值的情况。 请注意,您应该以"L"结束值:
浮点类型
当您需要带小数的数字时,您应该使用浮点类型,例如 9.99 或 3.14515。
Float
float
数据类型可以存储从 3.4e−038 到 3.4e+038 的小数。 请注意,您应该以"f"结束值:
Double
double
数据类型可以存储从 1.7e-308 到 1.7e+308 的小数。 请注意,您应该以"d"结束值:
使用浮点数还是双精度数?
浮点值的精度表示该值在小数点后可以有多少位。 float
的精度只有 6 位或 7 位十进制数字,而 double
变量的精度约为 15 位。
因此,在大多数计算中使用 double
会更安全。
科学数字
浮点数也可以是科学数字,带有"e"来表示 10 的幂:
布尔值
布尔数据类型使用 boolean
关键字声明,并且只能取值 true
或 false
:
实例
boolean isJavaFun = true;
boolean isFishTasty = false;
System.out.println(isJavaFun); // 输出 true
System.out.println(isFishTasty); // 输出 false
布尔值主要用于条件测试,您将在后面的章节中了解更多信息。
字符
char
数据类型用于存储单个字符。 字符必须用单引号括起来,例如 'A' or 'c':
或者,您可以使用 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 类型在 Java 中被大量使用和集成,以至于有人称它为"特殊的第九种类型"。
Java 中的 String 实际上是一种非原始数据类型,因为它引用了一个对象。 String 对象具有用于对字符串执行某些操作的方法。 如果您还不了解"对象"一词,请不要担心。 我们将在后面的章节中学习更多关于字符串和对象的知识。
非原始数据类型
非原始数据类型称为引用类型,因为它们引用对象。
原始数据类型和非原始数据类型之间的主要区别是:
- 原始类型在 Java 中是预定义的(已经定义的)。 非原始类型由程序员创建,不是由 Java 定义的(
String
除外)。 - 非原始类型可以用来调用方法来执行某些操作,而原始类型不能。
- 原始类型始终有一个值,而非原始类型可以为
null
。 - 原始类型以小写字母开头,而非原始类型以大写字母开头。
- 原始类型的大小取决于数据类型,而非原始类型的大小都相同。
非原始类型的示例有 Strings, Arrays, Classes, Interface等。您将在后面的章节中了解有关这些的更多信息。