关于传递参数时值变化的问题

来源:互联网 发布:游戏超人软件 编辑:程序博客网 时间:2024/04/29 18:07
当在定义一个方法的时候,比如 void main(int i){};
其中的参数i就是形参 形参是这个方法的局部变量 只能在方法体中使用 
当你调用这个方法的时候,比如main(a); 
此时a就是实参 实参a把他的值传递给形参i 
基本数据类型实参传递给形参的是值 
对象实参传递给形参的是对象的引用

在java语法中,数组变量是对象类型,所以参数传递的是引用.

基本数据类型就8种,记住就好了。除了这些都是引用型的了。 

java四类八种基本数据类型 整型 byte short int long 
浮点型 float double 

逻辑型 boolean(它只有两个值可取true false) 

字符型 char

引用数据类型:是数据的引用在栈中,但是他的对象在堆中。
堆是先进先出,而栈是先进后处 
1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 
2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢
0 0