问:JAVA的基本数据类型和引用数据类型的区别?
答:JAVA的基本数据类型和引用数据类型的区别:
1、基本数据类型有:byte:Java中最小的数据类型;short:短整型;int:整型;long:长整型;float:浮点型;double:双精度浮点型;char:字符型;boolean:布尔类型。
引用数据类型有:类、接口类型、数组类型、枚举类型、注解类型。
2、基本数据类型在被创建时,在栈上给其划分一块内存,将数值直接存储在栈上。
而引用数据类型在被创建时,首先要在栈上给其引用(句柄)分配一块内存,而对象的具体信息都存储在堆内存上,然后由栈上面的引用指向堆中对象的地址。
3、在数据做为参数传递的时候,基本数据类型是值传递,而引用数据类型是引用传递(地址传递)。
答:一、作用的不同
1、引用类型一般都是通过new关键字创建对象,然后把这个对象赋予给相应的变量,最常用的引用类型是String类型,它也比较特殊,可以直接通过关键字new来创建对象,也可以通过字符串直接赋值,比如:
Strings=newString("abc");
Strings="abc";
2、基本类型就是直接赋值就可以了,比如:
inta=123;
floatb=123.0;
boolean=true;
二、参数方面传递的不同
引用类型是引用传递
基本类型是值传递
三、比较方面的不同
引用类型比较的是引用地址(没有重写equals方法)
基本类型比较的是值
五、类型的不同
1、引用类型分为四种
强引用(StrongReference)
软引用(SoftRefernce)
弱引用(WeakReference)
虚引用(PhantomReference)
强引用-StrongReference
2、八种基本类型
整型byte8位
整型short16位
整型int32位
整型long64位
浮点型float32位
浮点型double64位
字符型char16位
布尔型boolean位数不确定
- 答:java中的数据类型分为两大类:基本数据类型和引用数据类型
基本数据类型,包括数值型,字符型和布尔型。
数值型:1)整型:byte 1个字节;short 2个字节;int 4个字节;long 8个字节。
2)浮点型:float 4个字节;double
8个字节;可以采用十进制和十六进制两种表示方式,其中十六进制表示方法只能采用科学计数法,例如:0x1.2p3,表示的是的是1乘以16加上2乘以16的-1次方的和乘以2的三次方;浮点型的默认类型为DOUBLE型,如果声明float型浮点数,要在数值后面加上f或F,例如:float
f1 = 3.14F;否则会报精度错误。
字符型:char 采用unicod的16位编码方式进行编码。
布尔型:true,false;
引用数据类型:类、接口类型、数组类型、枚举类型、注解类型;
基本数据类型和引用数据类型的区别主要在存储方式上:
基本数据类型在被创建时,在栈上给其划分一块内存,将数值直接存储在栈上;
引用数据类型在被床架时,首先要在栈上给其引用(句柄)分配一块内存,而对象的具体信息都存储在堆内存上,然后由栈上面的引用指向堆中对象的地址。
例如:我有一个类MyDate,其中有属性day,mouth,year等,有构造方法(带参数);
现在为其创建一个对象MyDate d1 = new
MyDate(8,8,2008);
在内存中的具体创建过程是:
1)首先在栈内存中位其d1分配一块空间;
2)然后在堆内存中为MyDate对象分配一块空间,并为其三个属性设初值0,0,0;
3)根据类MyDate中对属性的定义,为该对象的三个属性进行赋值操作;
4)调用构造方法,为三个属性赋值为8,8,2008;(注意这个时候d1与MyDate对象之间还没有建立联系)
5)将MyDate对象在堆内存中的地址,赋值给栈中的d1;通过句柄d1可以找到堆中对象的具体信息。
呵呵,引用数据类型的创建还真是挺复杂的一个过程。。。 - 答:java的8种基本类型:
byte,short, char, int, long,float,double,boolean.
与此对应的,java提供了8种包装类型:
Byte,Short,Character,Integer,Long,Float,Double,Boolean.
它们之间的相互转换:例如:
double a=1;
//把double基本类型转换为Double包装类型
Double b=new Double(a);
//把Double包装类型转换为double基本类型
a=b.doubleValue();
所谓引用,就是指针了,就是说对象指向的不是数据本身,而是它所在的内存地址.
数组就是引用类型!
一般在传参的时候用的最多。
问:基本数据类型和引用类型的区别是什么?
答:一、含义不同:
基本数据类型存放的是一个值,而引用类型存放的是一个(对象)地址。
二、影响不同:
基本数据类型由于在内存中的一个地址存放的是这些变量的值,所以调用函数,函数里的形参,就是复制这些变量的值,以后对形参值的变化,不会影响到原来变量的值;
引用数据类型由于在内存中是引用他的一个内存地址而不是具体的值,所以调用函数,函数里的形参, 就是复制这些变量的值的地址,当对形参的值进行修改的时候,就等于是对这些变量的值,进行修改,所以会影响到原来变量的值。
引用的规则
(1)引用被创建的同时必须被初始化(指针则可以在任何时候被初始化)。
(2)不能有NULL引用,引用必须与合法的存储单元关联(指针则可以是NULL)。
(3)一旦引用被初始化,就不能改变引用的关系(指针则可以随时改变所指的对象)。
以下示例程序中,k被初始化为i的引用。
语句k = j并不能将k修改成为j的引用,只是把k的值改变成为6。
由于k是i的引用,所以i的值也变成了6。
以上内容参考:百度百科-引用类型
问:基本数据类型和引用类型的区别?
答:基本数据类型和引用类型的区别如下:
一、声明变量时内存分配不同
基本类型:在栈中,因为占据空间是固定的,可以将他们存在较小的内存中-栈中,这样便于迅速查询变量的值。
二、不同的内存分配带来不同的访问机制
在javascript中是不允许直接访问保存在堆内存中的对象的,所以在访问一个对象时,首先得到的是这个对象在堆内存中的地址,然后再按照这个地址去获得这个对象中的值,这就是传说中的按引用访问。 而原始类型的值则是可以直接访问到的。
三、参数传递的不同
原始值:只是把变量里的值传递给参数,之后参数和这个变量互不影响。
引用值:对象变量它里面的值是这个对象在堆内存中的内存地址,这一点你要时刻铭记在心!
四、复制变量时的不同
原始值:在将一个保存着原始值的变量复制给另一个变量时,会将原始值的副本赋值给新变量,此后这两个变量是完全独立的,他们只是拥有相同的value而已。
引用值:在将一个保存着对象内存地址的变量复制给另一个变量时,会把这个内存地址赋值给新变量,也就是说这两个变量都指向了堆内存中的同一个对象,他们中任何一个作出的改变都会反映在另一个身上。
问:基本数据类型和引用数据类型的区别是什么?
- 答:本文介绍“基本数据类型和引用数据类型的区别”
1、基本数据类型由于在内存中的一个地址存放的是这些变量的值 所以调用函数,函数里的形参 ,就是复制这些变量的值 以后对形参值的变化 不会影响到原来变量的值;
2、引用数据类型由于在内存中是引用他的一个内存地址而不是具体的值,所以 调用函数, 函数里的形参, 就是复制这些变量的值的地址 ,当对形参的值进行修改的时候 就等于是对 这些变量的值 进行修改, 所以会影响到原来变量的值。
以上就是这两种类型的主要区别。 答:基本类型与引用数据类型的区别(以下为自己理解):
存在位置不同:基本类型存放是在栈中,引用的存在堆中
在内存在存在的形式不同:基本类型在内存中是存放的真实值,引用类型存放的是地址
- 答:基本数据类型存放的是一个值,而引用类型存放的是一个(对象)地址。
- 答:基本数据类型数据就是本身
引用数据类型数据本身是一个地址,指向真正的数据区
问:java中引用数据类型和基本数据类型的区别?
急用‘ ‘哪位高人帮下忙‘ 小弟先谢了
- 答:java中数绝类型分为基本数据类型,和引用数据类型
基本数据就是:int,float,boolean等等,8种
引用数据类型包括:类,数组,接口
本就没有太多的关系!
问:java中基本类型和引用类型的区别?
- 答:1、java中的基本数据类型,包括数值型,字符型和布尔型。 数值型:1)整型:byte ;short;int ;long。 2、引用数据类型变量包括:类、接口和数组变量 3、两者的区别主要在存储方式上: 基本数据类型在被创建时,在栈上给其划分一块内存
- 答:基本类型是放在栈空间的,引用类型是放在对空间的 但是引用变量是放在栈空间的
问:JS基本数据类型和引用数据类型的区别?
- 答:JS基本数据类型的变量存放的是基本类型数据的实际值;而引用数据类型的变量保存对它的引用,即指针。
JS基本数据类型:null
undefined
number
boolean
string比较特殊
引用数据类型:function
object
array
var
a
=
11;
var
b
=
1;
b
=
12;
console.log(a);
//11
a的值不会随b值得改变而改变
var
a
=
[1,2,3];
var
b
=
a;
a[0]
=
2;
console.log(b[0])
//2,
b的值随着a的值改变而改,因为他们指向同一个内存地址
var
a
=
[1,2,3];
var
b
=
a;
b
=
[11,
12,
13];//b指向了另一个内存地址,与a断开关联
a[0]
=
2;
console.log(b[0])
//11,b的值不随a的值改变而改变
比如说
var
a
=
1;
1是基本数据类型,因此变量a存放的就是1这个值
var
b
=
[1,2,3],[1,2,3]是引用数据类型,[1,2,3]是放在内存中的,而变量b存放的是[1,2,3]的地址,而不是[1,2,3]这个值
当使用b这个变量时,js解释器会通过b存放的内存地址,找到内存中的相应地址,将其中的值取出来返回