Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.4基本类型与运算(4.4.1)

xiaoxiao2021-02-28  96

4.4.1 Java提供了哪些基本数据类型

Java语言一共提供了8中原始的数据类型(byte、short、int、long、float、double、char、boolean),这些数据类型不是对象,而是Java语言中不同于类的特殊类型,这些基本类型的数据变量在声明之后就会立刻在栈上分配内存空间。除了这8种基本的数据类型外,其他类型都是引用类型(例如类、接口、数组等),引用类型类似于C++中的指针的概念,它以特殊的方式指向对象实体,这类变量在声明时不会被分配内存空间,只是存储了一个内存地址而已。 以上这些基本类型可以分为如下四种类型: 1>int长度数据类型:byte(1 Byte),short(2 Byte),int(4 Byte),long(8 Byte) 2>float长度数据类型:float(4 Byte),double(8 Byte) 3>boolean类型变量的取值:true,false(1 Byte) 4>char数据类型:char(unicode字符,2 Byte) Java语言还提供了对这些原始类型的分装类(Character,Integer等)。需要注意的是,Java中的数值类型都是有符号的,不存在无符号的数,它们的取值范围也是固定的,不会随着硬件环境或者操作系统的改变而改变。除了以上提到的8种基本数据类型外,在Java语言中,还存在另外一种基本类型void,它也有对应的封装类java.lang.void,只是无法直接对它进行操作而已。封装类型和原始类型有许多不同点:首先,原始数据类型在传递参数时都是按值传递,而封装类型是按引用传递的。其次,当封装类型和原始类型用作某个类的实例数据时,它们所指定的默认值不同。对象引用实例变量的默认值为null,而原始类型的实例变量的默认值与它们的类型有关(如int默认初始化为0),示例如下:

public class Test{ String s; int i; float f; public static void main(String[] args){ Test t = new Test(); System.out.println(t.s == null); System.out.println(t.i); System.out.println(t.f); } }

程序运行结果为: true 0 0.0 除了以上需要注意的内容外,在Java语言中,默认声明的小数是double类型的,因此在对float类型的变量进行初始化时需要进行类型转换。float类型的变量有两种初始化方法:float f=1.0f或float f = (float) 1.0。与此类似的是,在Java语言中,直接写的整型数字是int类型的,如果在给数据类型为long的变量直接赋值时,int类型的值无法表示一个非常大的数字,因此在赋值时可以通过如下的方法来赋值:long l = 26012402244L。 引申: Java中null不是一个合法的Object实例,所以编译器并没有为其分配内存,它仅仅用于表明该引用目前没有指向任何对象。其实,与C语言类似,null是将引用变量的值全部置为0。 在Java语言中,变量被分为两大类型,原始值(primitive)与引用值(reference)。声明为原始类型的变量,其存储的是实际的值。声明为引用类型的变量,存储的是实际对象的地址(指针,引用)。对于赋值语句String x = null,它定义了一个变量“x”,x存放的是String引用,此处为null。

转载请注明原文地址: https://www.6miu.com/read-19292.html

最新回复(0)