Java中的形参问题

Java中的形参问题

实例代码:

public static void main(String[] args) {

		int a = 10;
		int b = 20;
		System.out.println("a: " + a + ",b: " + b);
		change(a,b);
		System.out.println("a: " + a + ",b: " + b);

		int[] arr = {1,2,3,4,5};
		change(arr);
		System.out.println(arr[1]);
	}

	public static void change(int a,int b)  {

		System.out.println("a: " + a + ",b: " + b);
		a = b;
		b = a + b;
		System.out.println("a: " + a + ",b: " + b);
	}

	public static void change(int[] arr){
		for(int x = 0 ; x < arr.length ; x++){
			if(arr[x]%2 == 0){
				arr[x] *= 2;
			}
		}
	}

运算结果:在这里插入图片描述

形参和实参的关系实参和形参为单向值传递,也就是说 实参的值传入到方法后,进行运算后,形参发生的变化不会影响到实参。(举个例子:我有一个word文件,然后拷贝给你,让你去用,但是你对word文件进行了修改,并不会影响我的word文件的数据)

上述题 1. 虽然a=10,b=20 传入到了方法中 进行了运算 a,b的只发生了改变, 但是并不影响a与b本身的值

​ 2.数组方法中,此时情况有变,实际上这种情况下实参传递的是数组的首地址,那么一旦调用方法的时候,内存里会存在两个指针变量(一个形参一个实参),这两个变量指向同一位置,当然,方法内改变形参的值不会使得主方法里的实参地址发生变化,但是,由于两个参数指向同一位置,所以,通过形参来改变数组元素的值之后,主方法里面的实参在去访问数组的时候,数组的值已经改变

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java是在方法声明定义的变量。它们用于接收方法调用时传递的实际数值,并在方法体内使用。以下是Java的使用方法: 1. 的声明:在方法的括号内部,指定的类型和名称。例如,`public void printName(String name)`的`name`就是一个,类型为`String`。 2. 的传递:当调用方法时,需要传递实际数值给。例如,`printName("John")`的"John"就是实际数值,它会被传递给`name`。 3. 的使用:在方法体内部,可以像使用普通变量一样使用。可以将其作为方法体内的计算、判断、赋值等操作的操作数或操作对象。 4. 的作用域:只在方法体内部有效,超出方法体范围后就无法访问。这意味着的作用域仅限于该方法。 5. 的数量和类型:方法可以有零个或多个,并且每个都必须具有唯一的名称。此外,还可以具有不同的数据类型,根据实际需求进行定义。 例如,下面是一个使用的示例方法: ```java public void printName(String name) { System.out.println("Hello, " + name + "!"); } ``` 在上述方法,`printName`方法接受一个`String`类型的`name`,并在方法体内使用它来打印问候语。当调用该方法时,需要传递一个实际的字符串数值,例如`printName("John")`将打印出"Hello, John!"。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值