数据类型和变量
Java的数据类型主要分为基本数据类型和引用数据类型两大类,在具体使用场景中具有各自的适用领域。
下面是对不同数据类型的详细解析以及使用场景的概述:
一、基本数据类型
1.1 整型
包括byte(8位,-128~127)
short(16位,-32768~32767)
int(32位,-2^31~2^31-1)
long(64位,-2^63~2^63-1)
适用于整数运算,如计数、循环控制等。
1.2 浮点型
包括float(32位,10^-38~10^+38)
double(64位,10^-308~10^+308)
用于需要小数的计算,如科学计算、金融应用等。
1.3 字符型
char(16位,\u0000~\uffff)。
适用于处理单个字符操作,如文本处理、字符串操作等。
1.4 布尔型
boolean(1字节/4字节)。
主要用于逻辑判断和控制结构,如条件语句和循环语句。
二、引用数据类型
2.1 类
自定义的类类型。适用于面向对象编程,如定义复杂数据结构和实现各种功能。
2.2 接口
定义方法集合的引用类型。用于定义和实现类之间的契约,确保类具备某些功能。
2.3 数组
可以存储多个基本数据类型或引用数据类型的数据结构。适用于需要多个同类型数据的场景,如数据集、列表等。
三、使用场景
3.1 整型
用于循环计数、数组索引等。for (int i = 0; i < 10; i++) { … }。
3.2 浮点型
用于科学计算、财务数据等。double balance = 1000.0; double interestRate = 0.05; … 。
3.3 字符型
用于字符串操作、文本处理等。String name = “John”; char initial = name.charAt(0); … 。
3.4 布尔型
用于条件判断、标志位等。boolean isValid = true; if (isValid) { … }。
3.5 类
用于面向对象编程、定义复杂数据结构等。class Person { String name; int age; … }。
3.6接口
用于定义类的行为规范。interface Moveable { void move(); } class Car implements Moveable { public void move() { … }}。
3.7 数组
用于存储和操作多个数据项。int[] numbers = new int[10]; for (int i = 0; i < numbers.length; i++) { numbers[i] = i; }。
Java中的基本数据类型提供了八种内置类型,用于存储简单的数据值,而引用数据类型则用于存储对象的引用。基本数据类型具有默认值,而引用数据类型的默认值为null。在进行类型转换时,自动转换通常安全,但强制转换需要谨慎以避免数据丢失。
数据类型 | 内存 | 默认值 |
---|---|---|
byte | 8位 | 0 |
shot | 16位 | 0 |
int | 32位 | |
long | 64位 | 0L |
float | 32位 | 0.0f |
double | 64位 | 0.0d |
char | 16位 | \u0000 |
boolean | 8位 | false |
四、变量
什么是变量:在Java中,变量是程序里最基本的存储单元,它由变量名、变量类型、作用域组成。从本质上来说,变量其实就是内存里的一小块存储区域,该区域只能存储声明变量时指定类型的数据。我们创建使用每个变量前,必须先声明,在内存中申请空间,然后对其进行初始化赋值,接着就可以通过变量名来访问和使用这块内存区域了。变量其实就是一个可以存储特定类型数据的容器。
4.1 变量分类
1、按数据类型分类:基本类型变量、引用类型变量。
2、按作用范围分类:局部变量、成员变量(实例变量)、类变量(静态变量)
数据类型转换分为:自动转换、强制转换
List的三个子类LinkedList、ArrayList、Vector
LinkedList:
特点:底层结构基于链表,查询慢,增删快,线程不安全,效率高
特有方法:添加addFirst()、addLast(),删除removeFirst()、removeLast(),获取getFirst()、getLast()
ArrayList:
特点:底层结构基于数组,查询快,增删慢,线程不安全,效率高
Vector:
特点:底层结构基于数组,查询快增删慢,线程安全、效率低
特有方法:addElement(E obj)=>add()、elementAt(int index)=>get()