其实之前就懂这个东西,但今天突然就想写下来记录一下。 1.首先说 aa作为对象的引用传入swap函数,则对aa的内部操作确实可以影响到外部a的引用指向的值。 但b传入的引用bb也可以操作b的值,但bb指向了aa,这样一来,bb就跟b指向的不是同一个东西了,所以b的值不会改变。 输出: 6 5 2.当 ...
分类:
其他好文 时间:
2017-03-13 11:20:08
阅读次数:
140
在 Java 应用程序中永远不会传递对象,而只传递对象引用。因此是按引用传递对象。Java 应用程序按引用传递对象这一事实并不意味着 Java 应用程序按引用传递参数。参数可以是对象引用,而 Java 应用程序是按值传递对象引用的。 Java 应用程序中的变量可以为以下两种类型之一:引用类型或基本类 ...
分类:
编程语言 时间:
2017-03-12 21:18:00
阅读次数:
263
1.模块化 将大的程序分解为小的版块,每个版块有各自的任务,并且每个版块之间没有必然联系 完成各个版块后,将其连接起来,组合一个大的程序1.1模块化的作用 ①使代码结构清晰; ②使代码得以重用; 2.方法标签 方法的头部分 例:public static void main(String[]args ...
分类:
编程语言 时间:
2017-03-12 16:29:59
阅读次数:
214
Python中的对象之间赋值时是按引用传递的,如果需要拷贝对象,需要使用标准库中的copy模块。 1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。 2. copy.deepcopy 深拷贝 拷贝对象及其子对象程序: import copy a = [1, 2, 3, 4, ...
分类:
移动开发 时间:
2017-03-11 01:04:30
阅读次数:
218
在理解JS的深浅复制之前,我觉得有必要先提及一下关于值传递与引用传递。 在JS中,基本类型值的复制是按值传递的,而引用类型值的复制则是按引用传递的。值传递复制的对象间不会有任何牵连,互相独立;但是引用传递复制的对象间则会相互影响,修改其中任何一方的值都会在另一方中体现。之所以会有这样的表现和JS的内 ...
分类:
编程语言 时间:
2017-03-10 22:19:28
阅读次数:
337
ref和out都是C#中的关键字,所实现的功能也差不多,都是指定一个参数按照引用传递。 对于编译后的程序而言,它们之间没有任何区别,也就是说它们只有语法区别。 总结起来,他们有如下语法区别: 1、ref传进去的参数必须在调用前初始化,out不必, 即: int i; SomeMethod( ref ...
分类:
其他好文 时间:
2017-03-06 14:30:32
阅读次数:
167
数组声明后必须用new为其分配空间 java中数组有没有length()方法,求数组的长度可以使用数组的length属性。 1 2 int[] arr={1,2,3,4,5}; int length=arr.length;//求数组的长度 int[] arr={1,2,3,4,5}; int len ...
分类:
编程语言 时间:
2017-03-03 16:29:11
阅读次数:
217
回顾 自定义函数:返回值,参数传值(值传递和引用传递),作用域(全局和局部,超全局),静态变量(函数计数器:static 变量 = 值;)。 匿名函数:变量+() 伪类型:告诉用户当前数据的类型 可变函数:通过变量构造函数访问 数据类型判断:is_数据类型 数据类型转换:强制转换和自动转换,sett... ...
分类:
编程语言 时间:
2017-02-22 19:59:16
阅读次数:
309
JAVA开发过程中写函数都是不可避免的于是乎参数传递经常会困扰我们,特别是有C/C++功底的童鞋总会纠结于“java到底是值传递还是引用传递?” 先来一段代码(和程序员交流最好的果然还是代码) 打印出来的结果是: 0,1,2,3,4,5,6,7,8,9,100, ****************** ...
分类:
编程语言 时间:
2017-02-20 18:40:24
阅读次数:
135
//值传递 void swap(int i,int j){ printf("交换后:\n "); int tmp; tmp = i; i = j; j = tmp; } //引用传递,传递地址 void swap1(int* p,int* q){ printf("交换后:\n "); int tmp... ...
分类:
其他好文 时间:
2017-02-19 14:23:21
阅读次数:
155