数据类型:基本数据类型(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)会自动回收不再被引用的对象所占用的内存。
- 引用类型可以进行继承和实现接口,这是面向对象编程的核心概念之一。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通