数据类型分为两种:基本类型,引用类型
- 基本类型有4类8种:
1.整型:byte,short,int,long
2.浮点型(小数型):float(单精度),double(双精度)
3.字符型(可以存放一个字符):char
4.布尔型:boolean(只用两个值true,false)
- 引用数据类型
类(class), 接口(interface),数组(array),(枚举类型、注解类型、字符串(String)类型)
(简单来说,所有的非基本数据类型都是引用数据类型)
特点:
一、从概念方面来说
- 基本数据类型:变量名指向具体的数值
- 引用数据类型:变量名指向存数据对象的内存地址,即变量名指向hash值
二、从内存构建方面来说
- 基本数据类型:在被创建时,在栈内存中给其划分一块内存,将数值存储在栈内存中。
- 引用数据类型:在被创建时,首先要在栈内存中给其引用分配一块内存,而其具体信息都存储在堆内存上,然后由栈上的引用指向堆中对象的地址。
//基本数据类型作为方法参数被调用
public class Main{
public static void main(String[] args){
//基本数据类型
int i = 1;
double d = 1.2;
//引用数据类型
String str = "Hello World!";
}
}
三、从使用方面来说
- 基本数据类型:使用时需要赋具体值,判断时使用“==”号
- 引用数据类型:使用时可以赋null,判断时使用equals方法
基本数据类型的封装类:
封装类为各个数据类型提供一些数据的操作方法,
例如String跟int的互相转化:
//String 转int
String a = "21";int b = Integer.parseInt(a);
//int转String
int a = 21; String b = String.valueOf(a);