Java 简明教程
Java - Data Types
Data types 定义不同 types of variables 、常量、 method 参数、返回类型等数据类型和取值范围。数据类型告知编译器要存储的数据类型和所需的内存。为了存储和处理不同类型的数据,所有变量都必须具有指定的数据类型。
Java 数据类型分为两部分:
-
Primitive Data Types
-
Reference/Object Data Types
Java Primitive Data Types
基本数据类型由语言预定义并由关键字命名。Java 支持八种基本数据类型。以下是基本数据类型的列表:
-
byte
-
short
-
int
-
long
-
float
-
double
-
boolean
Java byte Data Type
-
字节数据类型是一个 8 位有符号二进制补码整数
-
最小值为 -128 (-2^7)
-
最大值为 127(包括)(2^7 -1)
-
Default value is 0
-
字节数据类型用于在大数组中节省空间,主要用于代替整数,因为一个字节的容量是一个整数的四分之一。
-
示例:byte a = 100,byte b = -50
Java short Data Type
-
短整型数据类型是一个 16 位有符号二进制补码整数
-
最小值为 -32,768 (-2^15)
-
最大值为 32,767(包括)(2^15 -1)
-
短整型数据类型也可以像字节数据类型一样,用于节省内存。一个短整型数字比一个整数小 2 倍
-
Default value is 0.
-
示例:short s= 10000,short r = -20000
Java int Data Type
-
整形数据类型是一个 32 位有符号二进制补码整数。
-
最小值是 - 2,147,483,648 (-2^31)
-
最大值是 2,147,483,647(含) (2^31 -1)
-
整数通常用作整数的默认数据类型,除非关心内存。
-
默认值是 0
-
示例 − int a = 100000,int b = -200000
Java long Data Type
-
长数据类型是一个 64 位的有符号二进制补码整数
-
Minimum value is -9,223,372,036,854,775,808(-2^63)
-
最大值为 9,223,372,036,854,775,807(包括)(2^63 -1)
-
需要比 int 更宽的范围时使用此类型
-
Default value is 0L
-
示例 − long a = 100000L,long b = -200000L
Java float Data Type
-
浮点数据类型是单精度 32 位 IEEE 754 浮点数
-
浮点主要用于节省大量浮点数数组的内存
-
Default value is 0.0f
-
浮点数据类型绝不用于货币等精确值
-
示例 − float f1 = 234.5f
Java double Data Type
-
双精度数据类型是双精度 64 位 IEEE 754 浮点数
-
此数据类型通常用作十进制值的默认数据类型,通常是默认选择
-
双精度数据类型绝不用于货币等精确值
-
Default value is 0.0d
-
示例 − double d1 = 123.4
Java boolean Data Type
-
布尔数据类型表示一位信息
-
只有两个可能的值:真和假
-
此数据类型用于跟踪真/假条件的简单标志
-
Default value is false
-
示例 − boolean one = true
Java char Data Type
-
char 数据类型是一个 16 位 Unicode 字符
-
最小值是 '\u0000'(或 0)
-
最大值为 ‘\uffff’ (或 65,535,含)
-
Char 数据类型用于存储任何字符
-
例如:char letterA = ‘A’
Example: Demonstrating Different Primitive Data Types
以下示例展示了上面讨论的各种原始数据类型的用法。我们在数字数据类型上使用了 add 运算,而布尔变量和 char 变量则按原样打印。
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
Java Reference/Object Data Type
使用 classes 的已定义 constructors 创建引用数据类型。它们用于访问对象。将这些变量声明为不能更改的特定类型。例如,Employee、Puppy 等。
类对象和各种类型的数组变量属于引用数据类型。任何引用变量的默认值为 null。引用变量可用于引用所声明类型或任何兼容类型的任何对象。