导航:首页 > 编程语言 > java保存变量的值

java保存变量的值

发布时间:2023-04-19 04:22:59

java变量存储问题

我对你看到的这个东西很不认同啊,Java里对int类型是传值i的,你定义了两个不同的int类型变量a和b那么它们就是毫无关系的,应该是不同的两个地址才对。

凭我对编译原理的理解,我觉得Java和C什么的一样,对局部变量是这样处理的:
程序在编译的时候就会给变量分配其在栈中的位置。举个例子:
int a = 3; int b = 3;
int c = a + 1;
假设编译时给a分配的地址是“栈底+8”,b的地址是“栈底+12”,c的地址是“栈底+16”,那么这一段代码编译后变成:
mov 8(%ebp), 3
mov 12(%ebp), 3
add 16(%ebp), 8(%ebp), 1
也就是说编译之后,程序里就没有a、b这些东西了,直接通过地址来进行运算。

如果我上面的理解没有问题,那么对你的问题的回答是:
1)不用找。
2)不会改变,这个地址在编译时就分配好了。
3)我认为函数传参的时候对基本类型还是传值的,即会把基本类型的参数的值复制一份放到被调用函数的栈中;对于类变量才是直接扔进去一个地址。不过我不是很确定。
后补充的那一问,没错我同意你的看法。

Ⅱ java中定义一个保存float类型变量的值并初始化,求该数组中的最大值,并输出

//为甚么在复这不能粘贴,非要要我重新制敲

import java.util.*

public class Test{

public static void main(String args[]){

Scanner s=new Scanner(System.in);

float arr[]=new float [];//你没说几个数,我就写了五个

System.out.println("输入五个浮点数");

for(int i=0;i<5;i++){

arr[i]=s.nextFloat();

}

Arrays.sort(arr);//从打到小排序

System.out.println(arr[arr.length-1]);//输出最后一个,最大的

}

}

Ⅲ java在循环语句的执行语句赋予变量值循环结束后会释放吗

在 java 中辩轿,在循环语句的执行语句中赋予变量值的操作不会导致变量被释放。
Java 中的变量在被声明后,会在内存中分配一块存储空间,并保存该变量的值。在执行循环语句时,变量值会被重复赋值,但是它的存储空间并不会被释放。
当循悄清环结束后,变量的值可能会发生变化,但是变量本身的存储空间并不会被释放。它只有在程序执行结束后,Java 虚拟机才会清理启灶前内存并释放相关资源。
因此,在 java 中,在循环语句的执行语句中赋予变量值的操作不会导致变量被释放。
再试一次重新路由

阅读全文

与java保存变量的值相关的资料

热点内容
win10扫描的文件在哪里 浏览:615
pdf文件公章歪了怎么处理 浏览:322
java下载文件的路径 浏览:551
现在有哪些热门的软件编程 浏览:453
asp什么文件迅雷下载 浏览:381
巫妖王之怒升级路线 浏览:348
wps如何发送文件 浏览:359
网站怎么加流量 浏览:457
圣魔之光石破解版本 浏览:110
湖北文件柜多少钱一套 浏览:103
artlantis渲染器教程 浏览:679
360系统文件可以清理吗 浏览:256
extjsform样式 浏览:513
电信猫怎么设置wifi密码 浏览:785
p190文件用什么打开 浏览:252
怎么修改ps签署文件 浏览:847
怎么找到编程猫作品文件 浏览:647
铁路局的网站是多少 浏览:194
微信双号 浏览:926
招标文件中的净值是什么意思 浏览:675

友情链接