小静的心路历程--javase基础语法第一章--方法的参数是基本数据类型和引用类型
2018-03-22 14:47
871 查看
public static void main(String[] args){
int a=1;
int b=2;
change(a,b);
syso(a); //1
syso(b);//2
}
public static void change(int a,int b){
a=a+b;
b=b+a;
}
两个方法中的变量,互不干系,只是传值
内存关系:
main方法压栈执行
a=1; b=2;
change(a,b);
输出a,b
change方法入栈执行
change(a,b)执行
//a=>1 b=>2
a=a+b;//a=3
b=a+b;//b=5
方法参数是引用类型
main{
int[] arr={1,2,3};
change(arr);
syso(arr[0]);//输出100
}
void change(int[] arr){
arr[0]=100
}
内存关系:
main方法压栈
int[] arr={1,2,3};//arr指向内存空间
change(arr);
change方法入栈执行
//参数arr也指向内存空间
arr[0]=100;
这里非常鲜明的提到了引用类型,传递的是地址,引用类型是通过堆内存的空间地址进行引用,基本数据类型是把数据传递过去
下一章 基本语法之引用数据类型
int a=1;
int b=2;
change(a,b);
syso(a); //1
syso(b);//2
}
public static void change(int a,int b){
a=a+b;
b=b+a;
}
两个方法中的变量,互不干系,只是传值
内存关系:
main方法压栈执行
a=1; b=2;
change(a,b);
输出a,b
change方法入栈执行
change(a,b)执行
//a=>1 b=>2
a=a+b;//a=3
b=a+b;//b=5
方法参数是引用类型
main{
int[] arr={1,2,3};
change(arr);
syso(arr[0]);//输出100
}
void change(int[] arr){
arr[0]=100
}
内存关系:
main方法压栈
int[] arr={1,2,3};//arr指向内存空间
change(arr);
change方法入栈执行
//参数arr也指向内存空间
arr[0]=100;
这里非常鲜明的提到了引用类型,传递的是地址,引用类型是通过堆内存的空间地址进行引用,基本数据类型是把数据传递过去
下一章 基本语法之引用数据类型
相关文章推荐
- 小静的心路历程--javase基础语法第一章--基本语法之引用数据类型
- 小静的心路历程--javase基础语法第一章--引用数据类型
- 小静的心路历程--javase基础语法第一章--方法
- 小静的心路历程--javase基础语法第一章--数组,内存的理解
- JAVA基础知识回顾(基本数据类型,switch参数,equals与==的区别,Object有哪些公用方法)-1
- (均为听课笔记)php初级编程员的心路历程--javase基础语法第一章
- 例题4-7向一个方法的基本数据类型参数传值/4-8引用类型参数
- [javase学习笔记]-6.6 基本数据类型参数与引用数据类型参数的传递过程
- java语言-基础(参数的值传递机制(基本数据类型与引用数据类型))
- 重读编程思想-初始化清理-基础数据类型参数传递给过载方法
- 契约操作不能使用引用对象作为参数,只允许使用基本类型或数据契约
- C语言基础语法和数据分类(基本数据类型)笔记
- JavaSe基础XX16——API对象-基本数据类型对象包装类
- javascript复习笔记(一)js基础,基本语法,数据类型,控制流程
- 让Spring Controller 的方法基本数据类型参数支持Bean Validation
- OC基础:OC 基本数据类型与对象之间的转换方法
- OC基础:OC 基本数据类型与对象之间的转换方法 分类: ios学习 OC 2015-06-18 20:01 11人阅读 评论(0) 收藏
- JVM基础概念总结:数据类型、堆与栈、基本类型与引用类型
- JS基本数据类型和引用类型的参数传递详细分析
- 【转】JVM基础概念总结:数据类型、堆与栈、基本类型与引用类型