Java 数据类型
Java 数据类型
如前一章所述,Java 中的变量必须是指定的数据类型:
实例
public class Main {
public static void main(String[] args) {
int myNum = 5; // integer (whole number)
float myFloatNum = 5.99f; // floating point number
char myLetter = 'D'; // character
boolean myBool = true; // boolean
String myText = "Hello"; // String
System.out.println(myNum);
System.out.println(myFloatNum);
System.out.println(myLetter);
System.out.println(myBool);
System.out.println(myText);
}
}
数据类型分为两组:
- 基本数据类型 - 包括
byte
,short
,int
,long
,float
,double
,boolean
和char
- 非基本数据类型 - 比如
String
,Arrays
和Classes
(在后面的章节中,您将了解更多关于这些类型的知识)
基本数据类型
基元数据类型指定变量值的大小和类型,并且没有其他方法。
Java 中有八种基本数据类型:
数据类型 | 大小 | 描述 |
---|---|---|
byte | 1 byte | 存储从 -128 到 127 的整数 |
short | 2 bytes | 存储从 -32768 到 32767 的整数 |
int | 4 bytes | 存储从 -2147483648 到 2147483647 的整数 |
long | 8 bytes | 存储从 -9223372036854775808 到 9223372036854775807 的整数 |
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
。
int
(表示整数)和 double
(表示浮点数)。后面我们会详细讲解这些类型。整数类型
Byte
byte
字节数据类型可以存储从 -128 到 127 的整数。当您确定该值将在 -128 和 127 之间时,可以使用它代替 int
或其他整数类型来节省内存:
实例
public class Main {
public static void main(String[] args) {
byte myNum = 100;
System.out.println(myNum);
}
}
Short
short
短整型可以存储从 -32768 到 32767 的整数:
实例
public class Main {
public static void main(String[] args) {
short myNum = 5000;
System.out.println(myNum);
}
}
Int
int 类型可以存储从 -2147483648 到 2147483647 的整数。通常,在本教程中,当我们创建带有数值的变量时,int
型是首选的数据类型。
实例
public class Main {
public static void main(String[] args) {
int myNum = 100000;
System.out.println(myNum);
}
}
Long
long
长整型可以存储从 -9223372036854775808 到 9223372036854775807 的整数。当 int
不足以存储值时,使用此选项。请注意,该值应以 "L" 结尾:
实例
public class Main {
public static void main(String[] args) {
long myNum = 15000000000L;
System.out.println(myNum);
}
}
浮点类型
当需要小数点的数字时,如 9.99 或 3.14515,应使用浮点类型。
Float
float
类型可以存储 3.4e−038 至 3.4e+038 中的小数。请注意,该值应以 "f" 结尾:
实例
public class Main {
public static void main(String[] args) {
float myNum = 5.75f;
System.out.println(myNum);
}
}
Double
double
类型可以存储 1.7e−308 至 1.7e+308 中的小数。请注意,该值应以 "d" 结尾:
实例
public class Main {
public static void main(String[] args) {
double myNum = 19.99d;
System.out.println(myNum);
}
}
使用 float
还是 double
?
float
的精度只有 6 或 7 位小数,而 double
的精度约为 15 位。因此,在大多数计算中使用 double 更安全。科学数字
浮点数也可以是带有 "e" 的科学数字,表示 10 的幂:
实例
public class Main {
public static void main(String[] args) {
float f1 = 35e3f;
double d1 = 12E4d;
System.out.println(f1);
System.out.println(d1);
}
}
布尔值
布尔数据类型是用 boolean
关键字声明的,只能取 true 或 false 值:
实例
public class Main {
public static void main(String[] args) {
boolean isJavaFun = true;
boolean isFishTasty = false;
System.out.println(isJavaFun);
System.out.println(isFishTasty);
}
}
布尔值主要用于条件测试,您将在后面的章节中了解更多。
Characters
char
数据类型用于存储 单个 字符。字符必须用单引号括起来,如 'A' 或者 'c':
实例
public class Main {
public static void main(String[] args) {
char myGrade = 'B';
System.out.println(myGrade);
}
}
或者,可以使用 ASCII 值来显示某些字符:
实例
public class Main {
public static void main(String[] args) {
char myVar1 = 65, myVar2 = 66, myVar3 = 67;
System.out.println(myVar1);
System.out.println(myVar2);
System.out.println(myVar3);
}
}
提示:所有 ASCII 值的列表可以在本站的 ASCII 参考 中找到。
Strings
String
数据类型用于存储字符序列(文本)。字符串值必须用双引号括起来:
实例
public class Main {
public static void main(String[] args) {
String greeting = "Hello World";
System.out.println(greeting);
}
}
字符串类型在 Java 中被大量使用和集成,以至于有人将其称为 "特殊的第 9 种类型"。
Java 中的字符串实际上是一种 非基本 数据类型,因为它引用了一个对象。String 对象具有用于对字符串执行某些操作的方法。如果你还不明白 "对象" 这个词,别担心。我们将在后面的章节中了解更多关于字符串和对象的信息。非基本数据类型
非基本数据类型称为 引用类型,因为它们引用对象。
基本 数据类型和 非基本 数据类型之间的主要区别是:
- 基本类型在 Java 中是预定义的(已经定义)。非原语类型由程序员创建,不由 Java 定义(字符串除外)。
- 非基本类型可以用来调用方法来执行某些操作,而基本类型不能。
- 基本类型始终有一个值,而非基本类型可以为 null。
- 基本类型以小写字母开头,而非基本类型以大写字母开头。
- 基本类型的大小取决于数据类型,而非基本类型的大小都相同。
非基本类型的示例有字符串(Strings)、数组(Arrays)、类(Classes)、接口(Interface)等。您将在后面的章节中学习到更多有关这些类型的知识。