基本数据类型
基本数据类型
基本数据类型直接存储值,它们是Java语言内置的数据类型,不需要创建对象即可使用。
八种基本数据类型:
-
数值类型
- 整数类型
byte
: 8位整数,取值范围从 -128 到 127。short
: 16位整数,取值范围从 -32,768 到 32,767。int
: 32位整数,取值范围从 -2,147,483,648 到 2,147,483,647。long
: 64位整数,取值范围更大,可以使用后缀L
或l
表示长整型。
- 浮点数类型
float
: 32位浮点数,精度较低,适合科学计算。double
: 64位浮点数,精度更高,默认情况下所有的浮点数都是double
类型。
- 整数类型
-
字符类型
char
: 16位Unicode字符,取值范围从 '\u0000' 到 '\uffff'。
-
布尔类型
boolean
: 值只能为true
或false
。
引用数据类型
引用数据类型指的是对象的引用,它们指向堆内存中的对象。Java中的引用数据类型包括类、数组和接口。
-
类:用户定义的类型,可以通过类创建对象。
-
示例:
public class Person { String name; int age; }
-
-
数组:一组同类型元素的集合,可以通过索引访问元素。
-
示例:
int[] numbers = new int[5]; // 创建一个整型数组
-
-
接口:定义了一组行为规范,类可以实现接口。
-
示例:
public interface Drawable { void draw(); }
-
总结
- 基本数据类型:直接存储值,不需要创建对象。
- 数值类型(整数和浮点数)、字符类型和布尔类型。
- 引用数据类型:存储对象的引用,指向堆内存中的对象。
- 类、数组和接口。
示例
下面是一些使用基本数据类型和引用类型的示例代码:
基本数据类型示例
public class BasicTypesExample {
public static void main(String[] args) {
byte b = 12;
short s = 32767;
int i = 2147483647;
long l = 9223372036854775807L;
float f = 3.14f;
double d = 3.1415926535;
char c = 'A';
boolean flag = true;
System.out.println("Byte: " + b);
System.out.println("Short: " + s);
System.out.println("Int: " + i);
System.out.println("Long: " + l);
System.out.println("Float: " + f);
System.out.println("Double: " + d);
System.out.println("Char: " + c);
System.out.println("Boolean: " + flag);
}
}
引用数据类型示例
public class ReferenceTypesExample {
public static void main(String[] args) {
// 类
Person person = new Person();
person.name = "John Doe";
person.age = 30;
// 数组
int[] numbers = {1, 2, 3, 4, 5};
// 接口
Drawable drawable = new Circle();
System.out.println("Person: " + person.name + ", Age: " + person.age);
System.out.println("Numbers: " + Arrays.toString(numbers));
drawable.draw(); // 假设 Circle 实现了 Drawable 接口
}
}
class Person {
String name;
int age;
}
interface Drawable {
void draw();
}
class Circle implements Drawable {
@Override
public void draw() {
System.out.println("Drawing a circle...");
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)