本文主要是介绍4、java的基本类型和包装类型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
基本类型
Java 中有 8 种基本数据类型,分别为:
- 6 种数字类型:
- 4 种整数型:byte、short、int、long
- 2 种浮点型:float、double
- 1 种字符类型:char
- 1 种布尔型:boolean
包装类型
如上8种基本数据类型都有对应的包装类型,这些包装类型都是不可变的类,它们提供了基本数据类型与对象之间的转换(解决基本数据类型无法直接应用于需要对象的环境中,例如在集合或泛型编程中的问题),以及一些有用的方法(字符串/数值转换,比值等)。以下是基本数据类型及其对应的包装类型:
- byte 对应的包装类型是 java.lang.Byte
- short 对应的包装类型是 java.lang.Short
- int 对应的包装类型是 java.lang.Integer
- long -对应的包装类型是 java.lang.Long
- float 对应的包装类型是 java.lang.Float
- double 对应的包装类型是 java.lang.Double
- char 对应的包装类型是 java.lang.Character
- boolean 对应的包装类型是 java.lang.Boolean
基本类型和包装类型的区别?
- 用途:除了定义一些常量和局部变量之外,我们在其他地方,比如方法参数、对象属性中很少会使用基本类型来定义变量。并且,包装类型可用于泛型,而基本类型不可以。
- 存储方式:
- 基本数据类型的局部变量存放在 Java 虚拟机的栈中的局部变量表中,基本数据类型的成员变量(未被static 修饰 ) 存放在 Java虚拟机的堆中。
- 包装类型属于对象类型,我们知道几乎所有对象实例都存在于堆中。
- 占用空间:相比于包装类型(对象类型), 基本数据类型占用的空间往往非常小。
- 默认值:成员变量包装类型不赋值就是 null ,而基本类型有默认值且不是 null。
- 比较方式:对于基本数据类型来说,
==
比较的是值。对于包装数据类型来说,==
比较的是对象的内存地址
public class Test {// 成员变量,存放在堆中int a = 10;// 被 static 修饰,也存放在堆中,但属于类,不属于对象// JDK1.7 静态变量从永久代移动了 Java 堆中static int b = 20;public void method() {// 局部变量,存放在栈中int c = 30;static int d = 40; // 编译错误,不能在方法中使用 static 修饰局部变量}
}
这篇关于4、java的基本类型和包装类型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!