JAVA中值类型和引用类型的区别

Python020

JAVA中值类型和引用类型的区别,第1张

(1)值类型:数据存储在内存的堆栈中,从堆栈中可以快速地访问这些数据,因此,值类型表示实际的数据。

(2)引用类型:对象、数组、函数。

1、值类型:包括:sbyte、short、int、long、float、double、decimal(以上值类型有符号)byte、ushort、uint、ulong(以上值类型无符号)bool、char

2、引用类型:包括:对象类型、动态类型、字符串类型。二、具体区别:

1、值类型:byteb1=1byteb2=b1Console.WriteLine("{0},{1}。",b1,b2)b2=

2Console.WriteLine("{0},{1}。",b1,b2)Console.ReadKey()解释:byteb1=1声明b1时,在栈内开辟一个内存空间保存b1的值1。byteb2=b1声明b2时,在栈内开辟一个内存空间保存b1赋给b2的值1。Console.WriteLine("{0},{1}。",b1,b2)输出结果为1,1。b2=2将b2在栈中保存的值1改为

2。Console.WriteLine("{0},{1}。",b1,b2)输出结果为1,2。

2、引用类型:复制代码。

四种八类:

基本数据类型

整数类型:

byte:字节占用 1字节   8位,用来表达最小的数据单位,储存数据长度为 正负 127;

short:字节占用 2字节 16位,储存数值长度为 -32768-32767

int:字节占用 4字节     32位,最为常用的整数类型,储存长度为,-2^31-1~2^31  (21 亿)

long:字节占用 8字节  64位,当到达int数值极限时使用,储存长度为 看图片:

         

         

浮点数类型:

float:单精度浮点型    32位  取值范围  3.4e-38~3.4e-38

double:双精度浮点型   64位  ,java中默认的浮点类型   取值范围 1.7e-308~1.7e-308

字符类型:

char:16位  ,java字符使用Unicode编码;

布尔类型

boolean : true 真  和 false 假

引用数据类型:

类 class

接口 interface

数组

java中的数据类型分两大类分别是基本类型和引用数据类型。

一、基本类型

1)Java中的数据类型有八种,即基本类型。具体如下:

数据类型位数取值范围:

Boolean1True|False

Byte8-128~127

Short16-32768~32767

Int32-2e31~2e31-1

Long64-2e63~2e63-1

Float32略

Double64略

Char160~65535

‘/u0000’~’uFFFF‘

二、引用数据类型

1)定义一个byte变量如:byteb=-256;

由于-256超出了’Byte’的取值范围,所以要使程序不报错,有一下几种解决方法:

A:更改变量的数据类型(如:将byte改为int)

B:更改变量名的赋值,使其包括在变量的数据类型的值域内;

C:进行强制转换:如:byteb=(byte)-256:

‘进行强制转换后,虽然程序不在报错,但是有可能会使原值的精度收到影响’

D:定义一个浮点类型数时,记得要在数值的后面加上“f”或“F”。(如:Floatf=10000.0f;)

E:若定义Charc=a;定义intn=c;则输出的n值为“a“的ASCII值,即97。

2)引用数据类型的定义

A:对象都是引用数据类型

B:应用类型使用NEW调用构造方法进行赋值

C:在Java中,除了基本数据类型以外,其余的全都属于引用数据类型,如:

a:API中的类,如String,File等;

b:数据;

c:自定义的类,如Cars,Student

d:对象全部是引用数据类型。

扩展资料

其他数据类型:

在java中,String本身也提供了很多的方法供我们使用:

获取到指定索引位置的字符:charc=字符串.charAt(索引位置)

获取到指定索引位置的字符:charc=字符串.charAt(索引位置)

获取第一次出现在字符串中的字符:intindex=字符串.index('a')

获取在字符串中字符的索引位置:intindex=字符串.index('a',1)

如果想比较两个字符串是否相等:字符串.equeals(字符串)

判断字符串是否为空:字符串.isEmpty()

获取字符串的长度:字符串.length()

根据某一个条件,将字符串进行分割:字符串.split("abc")

根据条件取出内容:字符串.substring(开始位置,结束位置)