Java中传值和传址的问题

原创 2006年06月08日 16:46:00

Java中取消了指针,不可能像C一样直接操作内存,但是由于对象的动态联编性,复杂数据类型作参数相当于指针的使用,即地址传递,而基本数据类型作参数传递则相当于值传递.看下面程序:

class swapByValue
{
 int x,y;
 public swapByValue (int x, int y)
 { 
  this.x=x;
  this.y=y; 
 }
 public void swap(int x,int y)
 {
  int z;
  z=x; x=y; y=z;
  System.out.println(x);
  System.out.println(y);
  this.x=x;  //没有这两句,结果就不能成功,因为int是基本数据类型,传的是值
  this.y=y;
 }
 public static void main(String args[])
 {
  swapByValue s= new swapByValue (3,4);
  Transcript.println("Before swap: x= "+s.x+" y= "+s.y);
  s.swap(s.x,s.y);
  Transcript.println("After swap: x= "+s.x+" y= "+s.y);}
 }

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Java中的传值引用和传址引用

传值引用主要是针对基本数据类型而言。所谓传值引用,就是在进行变量的传递过程中,传递的是变量的实际的值,是一个新的拷贝,一个变量值不会影响另一个变量值得改变。       eg: public cl...

java学习02-传值调用和传址调用

传值调用 传值调用不会改变变量的值,在函数弹栈后,原变量的值不变。 class Demo {       public static void main(String[] args)  ...

Java方法传值和传址分析

前段时间跟同学讨论了java中方法是传值还是传址的问题。 得出一个结论:java中一直是传值。 先看一段代码:public class Main { public static void ...

JAVA中传值与引用问题

  • 2010-09-15 09:36
  • 10KB
  • 下载

Java中传值与传址、static、继承、重写、super

Ctrl + Alt +S:快速产生get与set方法、构造方法等。 栈:一般是方法调用时进入的区域 方法中永远使用与方法最近的参数。1. 传值与传址 指的是方法调用时的参数传递。 a....

关于java Controller中传值的问题

先看图A,使用图A这种传值的方式,在查询数据的时候,只能查询所有的数据,也就是说在图B和图C中点击search按钮,查询数据的结果是一致的,都是查询所有的数据。当使用图D的方式传值的时候,点击图C的s...

Python的传值和传址与copy和deepcopy

Python的传值和传址与copy和deepcopy 1.传值和传址 传值就是传入一个参数的值,传址就是传入一个参数的地址,也就是内存的地址(相当于指针)。他们的区别是如果函数里面...

js- 引用和复制(传值和传址)

好像一般很少人讲到js中的引用和复制,不过弄清楚这个概念可以帮助理解很多东西 先讲一下很基础的东西,看看js中几种数据类型分别传的什么 引用:对象、数组、函数 复制:数字、布尔 字符串单独...

js- 引用和复制(传值和传址)

好像一般很少人讲到js中的引用和复制,不过弄清楚这个概念可以帮助理解很多东西 先讲一下很基础的东西,看看js中几种数据类型分别传的什么 引用:对象、数组、函数 复制:数字、布尔 字符串单独说明...

深入讨论传值和传址

在C和C++中我们一直使用两种比较传统的形参传递方式,一种是传值一种是传址,对于他们,我们的理解是:传值调用的话,传的是内容,形参的改变不会影响实参,传址的话形参的改变会影响实参。究其原因的话:传址是...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)