在java 中定义三个int变量 分别是 a b c 而且值都等于3 那么a b c...

发布网友 发布时间:2024-10-21 18:26

我来回答

5个回答

热心网友 时间:2024-10-21 19:03

不是,是三个逻辑意义上不同的地址。不同的变量,是互相的,与他们的值相不相同没有任何关系。就像,两个人,名字相同,但各是各。这应该是所有程序语言的基本规律。

热心网友 时间:2024-10-21 18:57

同一个地址。
Java中分为栈内存(存放局部变量,也就是你说的a、b、c)和堆内存(存放new出的对象、代码、static变量和常量池(你说的3就是常量)),也就是说常量3只在内存中存了一次。

热心网友 时间:2024-10-21 19:01

java基本类型 赋初值时指向堆中的常量内存 所以是同一地址

热心网友 时间:2024-10-21 19:04

基本数据类型是直接存在栈里面的,对象是存在堆里面的,栈是具有共享特性的,所以3这个数字是公用的。

热心网友 时间:2024-10-21 18:58

int 是java的基本数据类型;这种类型的定义是通过诸如int a = 3;的形式来定义的。

如果int a =
3;这里的a是一个指向int类型的引用,指向3这个字面值。存在栈中,栈有一个很重要的特殊性,就是存在栈中的数据可以共享。
这里有

int a=3;
int b=3;
int c= 3;

编译器先处理int a =
3;首先它会在栈中创建一个变量为a的引用,然后查找有没有字面值为3的地址,如果没找到,就开辟一个存放3这个字面值的地址,然后将a指向3的地址。
接着处
理int b = 3;在创建完b这个引用变量后,由于在栈中已经有3这个字面值,便将b直接指向3的地址。这样,就出现了a与b同时均指向3的情况。
同理 int c = 3 也是这种情况。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com