在上海乐字节学习Java的第十二天

方法参数的值传递机制
main方法的数组参数

public class Hello{
	public static void main(String[] args){
		System.out.println("Hello");
	}
}

参数:

参数类型 String[ ]
参数名称:args(arguments)
main方法是static修饰的,说明直接使用Hello类调用即可。
在底层是JVM通过Hello.main(new String[ ]{})。
main方法的String数组参数其实是暴露给程序运行者的,用于给程序传递一个数据信息。
main方法数据传递
基本数据类型值传递机制

//基本数据值传递类型
class ParameterDemo1 
{
	public static void main(String[] args) 
	{
		int x = 10;
		System.out.println("main方法前:x = " + x);//10
		change(x);//改变x变量
		System.out.println("main方法后:x = " + x);//10  为什么是10
	}
	static void change(int x){
		System.out.println("change方法前:x = " + x);//120
		x = 120;
		System.out.println("change方法后:x = " + x);//10
	}
}

change方法值传递过程

引用数据类型值传递机制
引用数据值传递类型

class ParameterDemo2 
{
	public static void main(String[] args) 
	{
		int[] arr = new int[]{23,34};
		arrayPrint(arr);//[23,34]
		svap(arr);//交换第一个和最后一个元素的值
		arrayPrint(arr);//[34,23]
		System.out.println("ending.......");
	}

	static void svap(int[] arr){
		int temp = arr[0];//把第一个元素存在中间变量
		arr[0] = arr[arr.length - 1];//把最后一个元素赋值给第一个
		arr[arr.length - 1] = temp;//将中间变量的值赋值给最后一个元素
	}


	//打印数组元素的方法
	static void arrayPrint(int[] arr){
		if(arr == null){//为了当数组为空引用是打印而不是报错
			System.out.println("null");
			return;//结束方法,否则依然报错
		}
		String ret = "[";
		for(int index = 0;index < arr.length;index ++){
			ret = ret + arr[index];
			if(index != arr.length - 1){
				ret = ret + ",	";
			}
		}
		ret = ret + "]";
		System.out.println(ret);
	}

引用数据类型值传递
基本数据类型传递的是值的副本,而引用数据类型传递的是引用地址值的副本。理解两种不同类型产生结果的原因是关键。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值