1. 8个基本类型:
- byte:字节类型,占8位,最大存储数据量为2的8次方,存放的数据范围是-128-127
- short:短整型,16位,最大存储数据量为2的16次方-1,存储的数据范围是负的2的15次方到2的15次方-1
- int:整型,32位,最大存储数据量为2的32次方,负的2的31次方到2的31次方-1
- long:长整型,64位,最大存储数据量为2的64次方,负的2的31次方到2的31次方-1
- float:单精度浮点型,32位,需要加f或者F
- double:双精度浮点型,64位,需要加d也可以不加
- boolean:布尔类型,1位,只有true和false
- char:字符类型,16位,两个字节,用单引号赋值
Java决定了基本数据类型的大小,这些大小并不会随着机器结构的变化而变化,这种大小的不可更改是Java具有很强移植能力的原因之一。
2.基本数据类型存放在哪里
1.如果作为方法的传入参数或者方法中的局部变量的话,基本数据类型会存放在Java虚拟机栈中的局部变量表中。
Java虚拟机栈每调用一个方法就会创建一个栈帧用于存放局部变量表、操作数栈、动态连接、方法接口等信息。方法的调用和执行过程对应栈帧在Java虚拟机栈中入栈和出栈的过程。
2.如果作为对象实例中的基本数据类型,就存放在堆中。
3.如果作为静态变量,在JDK7之前会存放在永生代实现的方法区中,在JDK8之后会存放在元空间实现的方法区中。
3.基本数据类型跟引用类型有什么区别
1.存储方式
针对基本数据类型和引用类型来说,他们存储的位置基本相同。区别在于基本数据类型在存放位置存放的是数值,而引用类型数据存放的是地址值,对象实例存放在堆中。
2.传递方式
他们的本质上都是值的传递。
基本数据类型传递的是数值的副本。
引用数据类型传递的是地址值的副本。