java之参数传递问题

同C语言中的函数参数类似。一般的形式参数不能改变实际参数的数值

数组名作为形式参数可以改变实际参数的数值,可以将java中的数组名和C语言中的指针相对比,更好的学习


class CanShu{
	
		public static void main(String[] args){
			int a = 10;
			int b = 20;
			System.out.println("a:"+a);
			System.out.println("b:"+b);				
			change(a,b);		//不能改变实参的数值
			System.out.println("a:"+a);
			System.out.println("b:"+b);
			System.out.println("-----------------------");
			
			int[] arr = {1,2,3,4,5};
			for(int x = 0; x <arr.length;x++)
				System.out.print(arr[x]+"  ");
			System.out.println();
			
			change(arr);		//用数组可以作为形参,可以改变实参
			for(int x = 0; x <arr.length;x++)
				System.out.print(arr[x]+"  ");			
		}
		
		//用变量传递参数
		public static void change(int a,int b){
			a = b;
			b = a + b;
		}
		
		public static void change(int[] arr){
			for(int x = 0; x <arr.length;x++){
				arr[x] ++;
			}	
		}
}


猜你喜欢

转载自blog.csdn.net/qq_36795563/article/details/80426032