Java 数据类型
Java 是静态类型的编程语言,这意味着所有变量在使用之前必须先声明。这涉及到变量声明的类型以及变量名称,像下面这样:
int age = 1;
这个例子意思为,新建一个名字为 age
的变量,它的数据类型为 int
,这意味着它只能存储对应的数字信息,并赋予了初始值 1 。
变量的数据类型决定它可以包含的值,以及可以对其执行的操作。除了 int 之外,Java 编程语言还支持其他七种原始数据类型。原始类型由 Java 语言预先定义,并作为关键字进行保留。
基本数据类型
Java 编程语言支持八种原始数据类型。
数据类型 | 大小 | 描述 |
---|---|---|
byte | 1 byte | 存储范围为-128到127的整数 |
short | 2 byte | 存储范围为-32,768到32,767的整数 |
int | 4 byte | 存储范围为-2,147,483,648到2,147,483,647的整数 |
long | 8 byte | 存储范围为-9,223,372,036,854,775,808到9,223,372,036,854,775,807的整数 |
float | 4 byte | 32 位单精度浮点数,取值范围为 1.4E-45 到 3.4028235E38。 |
double | 8 byte | 64 位双精度浮点数,取值范围为 4.9E-324 到 1.7976931348623157E308。 |
boolean | 1 bit | true/false |
char | 2 byte | 16 位 Unicode 字符,取值范围为 '\u0000' 到 '\uffff'。 |
几种数据类型创建示例:
boolean result = true;
char capitalC = 'C';
byte b = 100;
short s = 10000;
int i = 100000;
整数类型初始化时,可以使用特殊的前缀指定数字进制。
// 10 进制的 26
int decVal = 26;
// 16 进制的 26
int hexVal = 0x1a;
// 2 进制的 26
int binVal = 0b11010;
对于整数和小数类型,从 JDK 7 开始,可以通过下划线提高数字值的可阅读性。
long creditCardNumber = 1234_5678_9012_3456L;
long socialSecurityNumber = 999_99_9999L;
float pi = 3.14_15F;
long hexBytes = 0xFF_EC_DE_5E;
long hexWords = 0xCAFE_BABE;
long maxLong = 0x7fff_ffff_ffff_ffffL;
byte nybbles = 0b0010_0101;
long bytes = 0b11010010_01101001_10010100_10010010;
默认值
几种基本类型都有它的默认值,下面是对照表。
数据类型 | 默认值(对于字段) |
---|---|
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0d |
char | '\u0000' |
boolean | false |
这些原始数据类型是 Java 编程语言的基础,可以用于声明变量、方法参数和返回值等。Java 中的数据类型是非常重要的概念,掌握好数据类型的特点和用法,可以帮助我们更好地理解和使用 Java 语言。
String
除了上面列出的八种基本数据类型之外,Java 编程语言还通过 java.lang.String类提供了对字符串的特殊支持。将字符串括在双引号内将自动创建一个新String
对象;例如,String s = "this is a string";
。
String
对象是不可变的,这意味着一旦创建,它们的值就无法更改。类String
在技术上不是原始数据类型,但 Java 语言有对它的特殊支持。
String
的更多内容可以在 简单数据对象中学习。
引用数据类型
引用数据类型包括类、接口、数组等,它们是通过 new 关键字在堆中创建对象,变量存储的是对象的引用。
Java 中的引用数据类型可以分为以下几类:
- 类:类是 Java 中最基本的引用数据类型,用于定义对象的属性和方法。类可以继承其他类,也可以实现一个或多个接口。
public class Hello{}
- 接口:接口是一种特殊的类,只包含常量和抽象方法。接口可以被其他类实现,实现接口的类必须实现接口中定义的所有方法。
public interface IPerson {}
- 数组:数组是一种引用数据类型,用于存储同一类型的多个元素。数组可以是一维的,也可以是多维的。
byte[] value = {}
-
枚举:枚举是一种特殊的类,用于定义一组常量。枚举常量是唯一的,可以通过枚举类型访问。
-
注解:注解是一种特殊的类,用于为程序元素(类、方法、变量等)添加元数据。注解可以在编译时和运行时被读取,并且可以通过反射机制获取注解信息。
-
泛型:泛型是一种特殊的类,用于定义类型参数。泛型可以在编译时检查类型安全性,并且可以减少代码重复。
在 Java 中,引用数据类型的变量存储的是对象的引用,而不是对象本身。因此,引用数据类型的变量可以指向 null
,表示该变量没有引用任何内容。
参考资料: