学习Java基础的一些知识(3)Java的一些数据类型

在java中有两种数据类型:基本数据类型引用数据类型

基本数据类型也可以分为两大类:数值型、布尔型。

四种整数类型:

byte:取值范围 -128~127       8 位 (1字节)

short取值范围 -32768 ~ 32767 16位   (2字节)

int取值范围 -2^31~2^31-1  32 位  (4字节)

long:取值范围 -2^63~2^63-1         64位 (8字节)

两种浮点数类型:默认为double类型

float:取值范围 (+-)3.402823447E+38F    32位 (4字节)

double:取值范围 (+-)1.79769313486231570E+308  64位 (8字节)

字符类型:

char:取值范围 0~(2^16)-1   16位   2字节

布尔类型:默认为false

boolean: 取值范围 0/1(true  false)     1位   (1字节或8字节)

引用数据类型:

类、接口类型、数组类型、枚举类型、注解类型。(此时作者接触到的引用类型只有类和数组类型,剩下的是百度搜索)

基本数据类型&引用数据类型区别在于:

(1)概念方面

基本数据类型:变量名指向具体的数值      引用数据类型:变量名指向存数据对象的内存地址。

(2)内存分配方面

基本数据类型:变量在声明之后进入方法栈java就会立刻分配给他内存空间。

引用数据类型引用类型的变量的值存放在内存中,他以特殊的方法指向存放数据的内存地址,存放的是内存地址,而并不是实际的数据。

(3)作为参数传递方面

基本数据类型:变量在作为实际参数进行传递之后,自身并不会发生任何改变。

引用数据类型:变量在作为实际参数进行传递时,传递的并不是实际的数据值,而是内存地址,所以传递之后一旦经过修改,原来的数据将会被替换(等同于修改数据)。

定义的在不同范围的变量为两种不同的作用范围

实例变量(成员变量):

在类的{}内直接定义的变量,称为实例变量或成员变量。

作用范围:整个类中都可以使用。

实例变量在创建对象时会自动初始化,并有初始值(默认值)。

局部变量:

在方法中或代码块{}中定义的变量,称之为局部变量。

作用范围:只在包含它的方法或代码块内有效。

局部变量不会自动初始化,没有默认值,使用之前必须要初始化。

类型转换分为两种:自动类型转换强制类型转换

自动类型转换:类型是小类型转换为大类型,如果一个byte类型和int类型数据计算,byte类型数据会自动转为int数据类型。

强制类型转换:类型是大类型转换为小类型,如果一个double类型和int类型数据计算,要先将double类型强转转换为int数据类型,(一般情况下不建议强转,在刚开始接触时知道有这么个操作即可,因为强转很可能会让数据损失精度)。

发布了40 篇原创文章 · 获赞 10 · 访问量 4074

猜你喜欢

转载自blog.csdn.net/qq_41693150/article/details/79273026