Java 数据类型
Java 数据类型
如前一章所述,Java 中的变量必须是指定的数据类型:
实例
public class Main {public static void main(String[] args) {int myNum = 5; // integer (whole number)float myFloatNum = 5.99f; // floating point numberchar myLetter = 'D'; // characterboolean myBool = true; // booleanString myText = "Hello"; // StringSystem.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)等。您将在后面的章节中学习到更多有关这些类型的知识。