数据类型定义了不同类型的变量、常量、方法参数、返回类型等的数据类型和值范围。数据类型告诉编译器要存储的数据类型和所需的内存。为了存储和处理不同类型的数据,所有变量都必须有指定的数据类型。
Java数据类型分为两个部分:
基本数据类型(Primitive Data Types)
基本数据类型是由语言预定义并通过关键字命名的。Java支持八种基本数据类型。下面是基本数据类型的列表:
Java byte
数据类型
byte
数据类型是一个8位带符号的二进制补码整数。
最小值是 -128 (-2^7)
。
最大值是 127 (2^7 -1)
。
默认值是 0
。
byte
数据类型用于节省空间,特别是在替代整数的情况下,因为一个字节是整数大小的四分之一。
示例:byte a = 100, byte b = -50
Java short
数据类型
short
数据类型是一个16位带符号的二进制补码整数。
最小值是 -32,768 (-2^15)
。
最大值是 32,767 (2^15 -1)
。
short
数据类型也可以像 byte
数据类型那样用来节省内存。一个短整型是整型大小的两倍小。
默认值是 0
。
示例:short s = 10000, short r = -20000
Java int
数据类型
int
数据类型是一个32位带符号的二进制补码整数。
最小值是 -2,147,483,648 (-2^31)
。
最大值是 2,147,483,647 (2^31 -1)
。
整型一般作为整数值的默认数据类型,除非有关内存方面的考虑。
默认值是 0
。
示例:int a = 100000, int b = -200000
Java long
数据类型
long
数据类型是一个64位带符号的二进制补码整数。
最小值是 -9,223,372,036,854,775,808 (-2^63)
。
最大值是 9,223,372,036,854,775,807 (2^63 -1)
。
当需要比 int
更大的范围时,使用此类型。
默认值是 0L
。
示例:long a = 100000L, long b = -200000L
Java float
数据类型
float
数据类型是一个单精度32位IEEE 754浮点数。
float
主要用于节省大量浮点数组中的内存。
默认值是 0.0f
。
float
数据类型从不用于需要精确值的情况,例如货币。
示例:float f1 = 234.5f
Java double
数据类型
double
数据类型是一个双精度64位IEEE 754浮点数。
此数据类型一般作为十进制值的默认数据类型,通常是默认选择。
double
数据类型从不用于需要精确值的情况,例如货币。
默认值是 0.0d
。
示例:double d1 = 123.4
Java boolean
数据类型
boolean
数据类型代表一位的信息。
只有两个可能的值:true
和 false
。
此数据类型用于简单的标志,以跟踪真假条件。
默认值是 false
。
示例:boolean one = true
Java char
数据类型
char
数据类型是一个单一的16位Unicode字符。
最小值是 '\u0000' (或 0)
。
最大值是 '\uffff' (或 65,535 包括)
。
char
数据类型用于存储任何字符。
示例:char letterA = 'A'
示例:演示不同的基本数据类型
以下示例展示了我们上面讨论过的各种基本数据类型的使用。我们对数值数据类型使用加法操作,而布尔型和字符型变量则直接打印。
public class JavaTester {
public static void main(String args[]) {
byte byteValue1 = 2;
byte byteValue2 = 4;
byte byteResult = (byte)(byteValue1 + byteValue2);
System.out.println("Byte: " + byteResult);
short shortValue1 = 2;
short shortValue2 = 4;
short shortResult = (short)(shortValue1 + shortValue2);
System.out.println("Short: " + shortResult);
int intValue1 = 2;
int intValue2 = 4;
int intResult = intValue1 + intValue2;
System.out.println("Int: " + intResult);
long longValue1 = 2L;
long longValue2 = 4L;
long longResult = longValue1 + longValue2;
System.out.println("Long: " + longResult);
float floatValue1 = 2.0f;
float floatValue2 = 4.0f;
float floatResult = floatValue1 + floatValue2;
System.out.println("Float: " + floatResult);
double doubleValue1 = 2.0;
double doubleValue2 = 4.0;
double doubleResult = doubleValue1 + doubleValue2;
System.out.println("Double: " + doubleResult);
boolean booleanValue = true;
System.out.println("Boolean: " + booleanValue);
char charValue = 'A';
System.out.println("Char: " + charValue);
}
}
输出:
Byte: 6
Short: 6
Int: 6
Long: 6
Float: 6.0
Double: 6.0
Boolean: true
Char: A
引用数据类型(Reference/Object Data Types)
引用数据类型是使用类定义的构造函数创建的。它们用来访问对象。这些变量被声明为一个特定类型,并且不能更改。例如,Employee
,Puppy
等。
类对象和各种类型的数组变量属于引用数据类型。任何引用变量的默认值是 null
。一个引用变量可以用来引用声明类型或任何兼容类型的对象。
示例
下面的示例演示了引用(或对象)数据类型的使用。
Animal animal = new Animal("giraffe");
String myString = new String("Hello, World!");