数据类型:基本数据类型(8种类型)和引用类型
基础数据类型(8种类型):
-
整数类型:byte、short、int、long
-
小数类型:float、double
-
字符类型:char
-
布尔类型:boolean

-
整数类型:
- byte:8位有符号整数,取值范围从 -128 到 127。
- short:16位有符号整数,取值范围从 -32,768 到 32,767。
- int:32位有符号整数,默认的整数类型,取值范围从 -2^31 到 2^31-1(即 -2147483648 到 2147483647)。
- long:64位有符号整数,取值范围从 -2^63 到 2^63-1(即 -9223372036854775808 到 9223372036854775807)。在数值后加上
L 或 l 来表示。
-
小数类型:
- float:32位单精度浮点数。在数值后加上
F 或 f 来表示。
- double:64位双精度浮点数,是默认的小数类型。取值范围和精度都比float高。
-
字符类型:
- char:16位Unicode字符,可以存储任何字符。
-
布尔类型:
- boolean:只有两个可能的值:
true 和 false。
说明:
- 默认值:每种基本数据类型都有默认值。对于整数类型,默认值是0;对于小数类型,默认值是0.0;对于字符类型,默认值是
\u0000(即Unicode编码中的空字符);对于布尔类型,默认值是false。
- 包装类:Java为每种基本数据类型提供了对应的包装类(如
Integer、Double等),这些类提供了将基本类型转换为对象的方法,使得基本类型可以作为对象使用。
示例代码:
java复制byte b = 10;
short s = 20;
int i = 30;
long l = 40L;
float f = 5.5F;
double d = 6.6;
char c = 'A';
boolean bool = true;
引用类型:
- 类(Class):
- 由关键字
class定义,是创建对象的模板。类可以包含属性(成员变量)、方法和构造函数。
- 接口(Interface):
- 由关键字
interface定义,是一种形式的契约,可以包含方法签名和默认方法实现。接口可以被类实现(implements)。
- 数组(Array):
- 一种容器对象,可以包含固定数量的单一类型元素。数组可以是一维或多维的。
- 枚举(Enum):
- 由关键字
enum定义,是一种特殊的类,其实例通常是一组常量。
- 注解(Annotation):
- 一种特殊的接口,用于为类、方法或变量提供元数据。注解可以被保留并用于运行时处理。
- 字符串(String):
- 虽然
String是基本数据类型char的数组,但在Java中,String对象实际上是引用类型。String是不可变的,这意味着一旦创建,它的值就不能被改变。
- 包装类(Wrapper Class):
- 基本数据类型的包装类,如
Integer、Double、Character等,它们允许基本数据类型被当作对象来处理。
- 集合(Collection):
- 一组相关的对象,可以包括
List、Set、Map等。集合是Java集合框架的一部分,用于存储、检索、操作和通信。
示例代码:
java复制// 类
class MyClass {
int value;
// ...
}
// 接口
interface MyInterface {
void doSomething();
}
// 数组
int[] myArray = new int[10];
// 枚举
enum MyEnum {
VALUE1, VALUE2
}
// 注解
@interface MyAnnotation {
String value();
}
// 字符串
String myString = "Hello, World!";
// 包装类
Integer myInteger = 100;
// 集合
List<String> myList = new ArrayList<>();
Map<String, Integer> myMap = new HashMap<>();
说明:
- 引用类型在Java中是通过引用变量来访问的。引用变量存储的是对象在内存中的地址。
- 引用类型可以是可变的,这意味着它们的状态(属性和方法)可以在运行时被改变。
- 引用类型在Java中是垃圾收集的,这意味着Java虚拟机(JVM)会自动回收不再被引用的对象所占用的内存。
- 引用类型可以进行继承和实现接口,这是面向对象编程的核心概念之一。