Java数据类型_JAVA数据类型可以分为哪两大类?
Java的两大数据类型:
- 基本数据类型
- 引用数据类型
1.1 内置数据类型
Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。
1.1.1 整数类型(Integer Types)
byte型:
- byte数据类型是8位、有符号的,以二进制补码表示的整数;
- 最小值是-128(-2^7);
- 最大值是127(2^7-1);
- 默认值是0;
- byte类型用在大型数组中节约空间,主要代替整数,因为byte变量占用的空间只有int类型的四分之一;
- 例子:byte a = 100,byte b = -50。
short型(短整型):
- short数据类型是16位、有符号的以二进制补码表示的整数
- 最小值是-32768(-2^15);
- 最大值是32767(2^15 - 1);
- Short数据类型也可以像byte那样节省空间。一个short变量是int型变量所占空间的二分之一;
- 默认值是0;
- 例子:short s = 1000,short r = -20000。
int型(整型):
- int数据类型是32位、有符号的以二进制补码表示的整数;
- 最小值是-2,147,483,648(-2^31);
- 最大值是2,147,483,647(2^31 - 1);
- 一般地整型变量默认为int类型;
- 默认值是0;
- 例子:int a = 100000, int b = -200000。
long(长整型):
- long数据类型是64位、有符号的以二进制补码表示的整数;
- 最小值是-9,223,372,036,854,775,808(-2^63);
- 最大值是9,223,372,036,854,775,807(2^63 -1);
- 这种类型主要使用在需要比较大整数的系统上;
- 默认值是0L;
- 例子: long a = 100000L,long b = -200000L。
Java支持多种表示整型字面值的方式,包括十进制、八进制、十六进制和二进制
1. 十进制(Decimal)
十进制是最常见的表示方式,直接使用0到9的数字表示。
int decimalValue = 123; // 十进制表示
2. 八进制(Octal)
八进制使用前缀 0 表示,数字范围是0到7。
int octalValue = 0123; // 八进制表示,等同于十进制的83
3. 十六进制(Hexadecimal)
十六进制使用前缀 0x 或 0X 表示,数字范围是0到9和A到F(或a到f)。
int hexValue = 0x1A; // 十六进制表示,等同于十进制的26
4. 二进制(Binary)
二进制使用前缀 0b 或 0B 表示,数字范围是0和1。
int binaryValue = 0b1010; // 二进制表示,等同于十进制的10
1.1.2 浮点类型(Floating Point Types)
float(单精度浮点型):
- float数据类型是单精度、32位、符合IEEE 754标准的浮点数;
- float在储存大型浮点数组的时候可节省内存空间;
- 默认值是0.0f;
- 浮点数不能用来表示精确的值,如货币;
- 例子:float f1 = 234.5f。
double(双精度浮点型):
- double数据类型是双精度、64位、符合IEEE 754标准的浮点数;
- 浮点数的默认类型为double类型;
- double类型同样不能表示精确的值,如货币;
- 默认值是0.0d;
- 例子:double d1 = 123.4。
Java支持多种表示浮点型字面值的方式,包括十进制表示法、科学计数法、后缀表示法
1. 十进制表示法
- 直接写出一个带有小数点的数值。
- 例如:3.14, 0.5, -2.718
2. 科学计数法
- 使用 e 或 E 表示指数部分。
- 例如:3.14e2 表示 3.14 * 10^2 = 314.0
- 例如:1.23E-3 表示 1.23 * 10^-3 = 0.00123
3. 后缀表示法
- 使用 f 或 F 后缀表示 float 类型。
- 使用 d 或 D 后缀表示 double 类型(可选,因为默认就是 double)。
- 例如:3.14f 表示 float 类型的 3.14,3.14 或 3.14d 表示 double 类型的 3.14。
示例代码
public class FloatingPointLiterals {
public static void main(String[] args) {
// 十进制表示法
double pi = 3.14;
float e = 2.718f; // 使用 f 后缀表示 float 类型
// 科学计数法
double largeNumber = 1.23e6; // 1.23 * 10^6 = 1230000.0
double smallNumber = 4.56E-4; // 4.56 * 10^-4 = 0.000456
// 使用 d 后缀表示 double 类型(可选)
double anotherPi = 3.14d;
// 输出结果
System.out.println("pi: " + pi);
System.out.println("e: " + e);
System.out.println("largeNumber: " + largeNumber);
System.out.println("smallNumber: " + smallNumber);
System.out.println("anotherPi: " + anotherPi);
}
}
1.1.3 布尔类型(Boolean Type)
boolean(布尔型):
- boolean数据类型表示一位的信息;
- 只有两个取值:true和false;
- 这种类型只作为一种标志来记录true/false情况;
- 默认值是false;
- 例子:boolean one = true。
1.1.4 字符类型(Character Type)
char(字符型):
- char类型是一个单一的16位Unicode字符;
- 最小值是’\u0000’(即为0);
- 最大值是’\uffff’(即为65,535);
- char数据类型可以储存任何字符;
- 例子:char letter = ‘A’。
***在 Java 中,字符型字面值(Character Literal)用于表示单个字符。字符型字面值通常用单引号 ' 包围,并且可以包含一个字符或一个转义序列
1. 基本字符型字面值
- 字符型字面值表示一个 Unicode 字符,通常用单引号 ' 包围。例如:
char ch1 = 'A'; // 字符 'A'
char ch2 = '1'; // 字符 '1'
char ch3 = ' '; // 空格字符
2. 转义序列
- Java 支持多种转义序列,用于表示一些特殊字符或不可打印字符。常见的转义序列包括:
- \n:换行符(newline)
- \t:制表符(tab)
- \b:退格符(backspace)
- \r:回车符(carriage return)
- \f:换页符(form feed)
- \\:反斜杠(backslash)
- \':单引号(single quote)
- \":双引号(double quote)
- \uXXXX:Unicode 字符,其中 XXXX 是四位十六进制数
- 示例:
- char newline = '\n'; // 换行符 char tab = '\t'; // 制表符 char backslash = '\\'; // 反斜杠 char singleQuote = '\''; // 单引号 char unicodeChar = '\u03A9'; // Unicode 字符 Ω
3. Unicode 字符
- Java 支持使用 Unicode 字符,可以通过 \u 转义序列来表示。Unicode 字符可以表示任何语言的字符,包括中文、日文、希腊字母等。
示例:
char chineseChar = '\u4E2D'; // 中文字符 '中'
char greekOmega = '\u03A9'; // 希腊字母 Ω
1.2 引用数据类型
类(Class):
- 类是对象的模板,定义了对象的属性和行为。例如:
class MyClass {
int value;
void printValue() {
System.out.println(value);
}
}
接口(Interface):
- 接口定义了一组方法的签名,但没有实现。类可以实现接口。例如:
interface MyInterface {
void doSomething();
}
数组(Array):
- 数组是一种存储多个相同类型元素的数据结构。例如:
int[] numbers = {1, 2, 3, 4, 5};
枚举(Enum):
- 枚举是一种特殊的数据类型,它允许一个变量成为一组预定义常量的集合。例如:
enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}