首先要知道的是,java是强类型的语言,什么是强类型呢?
简单来说变量必须指定数据类型,变量只能存储指定类型的数据。如:int a = 10; 那么变量a就只能存储整型。
Java为我们提供了八大基本数据类型和引用数据类型
八大基本数据类型
基本数据类型我们可以做如下分类
1、 整数类型
byte: 占用1字节(byte),8位(bit)。 取值范围:-2的7次方 ~ 2的7次方-1
short: 占用2字节(byte),16位(bit)。取值范围:-2的15次方~2的15次方-1
int(默认使用): 占用4byte ,32位(bit)。取值范围:-2的31次方~2的31次方-1
long: 占用8byte ,64位。取值范围。取值范围: -2的63次方~2的63次方-1
2、浮点数
folate: 单精度浮点数 4byte (字节) 占用(7位)
doblue(默认使用): 双精度浮点数 8byte(字节)占用(16位)
3、字符
char: 2byte(字节)每个符号使用单引号引起来
4、boolean(布尔)
至少1个字节,由jvm决定。取值true或false一个表示真,一个表示假,一般用于逻辑运算
引用数据类型
引用数据类型并不指某一个或某几个,而是除了基本数据类型外,所有的都是引用类型。所谓的引用类型可以是JDK里提供的也可以是自己创建的类。比如:String,这个是最开始接触的,可以根据名字看出来它是一个类(Java规范来说类名要大驼峰),它就是一个引用类型。
String str= “中国”,String就是数据类型。
现在我构建了一个User类,现在给User类创建对象
如图:User是我自己创建的对象,但它也是引用数据类型
区别只不过String是JDK提供的(方法比较多,也就是功能比较多),User是我自己创建的