11-java基础语法(方法参数传递问题)_

方法参数传递

1.基本类型和引用类型作为方法参数传递问题
参数传递概述
可以理解当我们要调用一个方法时,我们会把指定的数值,传递给方法中的参数,这样方法中的参数就拥有了这个指定的值,可以使用该值,在方法中运算了。
这种传递方式,我们称为参数传递。
在这里,定义方法时,参数列表中的变量,我们称为形式参数
调用方法时,传入给方法的数值,我们称为实际参数
参数是基本类型及图解
形式参数的改变不影响实际参数。

public class Demo01Args {
	public static void main(String[] args) {
		// 定义变量
		int a = 10;
		int b = 20;
		System.out.println("a:" + a + ",b:" + b);// a:10,b:20
		change(a, b);
		System.out.println("a:" + a + ",b:" + b);// a:10,b:20
	}

	public static void change(int a, int b) { // a=10,b=20
		System.out.println("a:" + a + ",b:" + b);// a:10,b:20
		a = b; // a=20;
		b = a + b;// b=40;
		System.out.println("a:" + a + ",b:" + b);// a:20,b:40
	}
}

在这里插入图片描述
参数是引用类型及图解

public class Demo02Args {
	public static void main(String[] args) {
		// 定义数组
		int[] arr = { 1, 2, 3, 4, 5 };
		// 遍历数组
		for (int x = 0; x<arr.length; x++) {
			System.out.println(arr[x]);
		}
		System.out.println("----------------");
		change(arr);
		for (int x = 0; x<arr.length; x++) {
			System.out.println(arr[x]);
		}
	}

	public static void change(int[] arr) {
		for (int x = 0; x<arr.length; x++) {
			// 如果元素是偶数,值就变为以前的2倍
			if (arr[x] % 2 == 0) {
				arr[x] *= 2;
			}
		}
	}
}

在这里插入图片描述
练习:
1.定义方法,可以接收一个整型一维数组,在方法的内部完成数组遍历

public class Demo01MethodTest {
	public static void main(String[] args) {
		// 定义数组
		int[] arr = { 11, 22, 33, 44, 55 };
		
		printArray1(arr);
		printArray2(arr);
	}
	
	/*
	 * 按照以下格式遍历数组
	 * [元素1, 元素2, 元素3, ...]
	 */
	public static void printArray2(int[] arr) {
		System.out.print("[");
		for(int x=0; x<arr.length; x++){
			if(x==arr.length-1){
				System.out.println(arr[x]+"]");
			}else {
				System.out.print(arr[x]+", ");
			}
		}
	}
	
	/*
	 * 定义遍历数组的方法
	 * 两个明确:
	 * 		返回值类型:void
	 * 		参数列表:int[] arr
	 */
	public static void printArray1(int[] arr) {
		for(int x=0; x<arr.length; x++){
			System.out.println(arr[x]);
		}
	}
}

2.定义方法,可以接收一个整型的一维数组,在方法的内部获取数组的最大值并返回

public class Demo02MethodTest {
	public static void main(String[] args) {
		// 定义数组
		int[] arr = { 34, 67, 10, 28, 59 };
		
		//调用获取数组中的最大值的方法
		int max = getMax(arr);
		System.out.println("max:"+max);
		
		//调用获取数组中的最小值的方法
		int min = getMin(arr);
		System.out.println("min:"+min);
		
	}
	
	//获取数组中的最小值的方法
	public static int getMin(int[] arr) {
		int min = arr[0];
		
		for(int i=1; i<arr.length; i++) {
			if(arr[i] <min) {
				min = arr[i];
			}
		}
		
		return min;
	}
	
	/*
	 * 获取数组中的最大值的方法
	 * 两个明确:
	 * 		返回值类型:int
	 * 		参数列表:int[] arr
	 */
	public static int getMax(int[] arr) {
		int max = arr[0];
		
		for(int i=1; i<arr.length; i++) {
			if(arr[i] >max) {
				max = arr[i];
			}
		}
		
		return max;
	}
}

3.定义方法,可以接收一个整型数组,实现求这个数组元素的和 ,并把这个和返回(一维数组,二维数组)

public class Demo03MethodTest {
	public static void main(String[] args) {
		// 定义数组
		int[] arr = { 1, 2, 3, 4, 5 };
		//调用数组元素求和方法
		int sum = sum(arr);
		System.out.println("sum:"+sum);
	}
	
	/*
	 * 定义数组元素求和方法
	 * 两个明确:
	 * 		返回值类型:int
	 * 		参数列表:int[] arr
	 */
	public static int sum(int[] arr) {
		int sum = 0;
		
		for(int i=0; i<arr.length; i++) {
			sum += arr[i];
		}
		
		return sum;
	}
}
发布了186 篇原创文章 · 获赞 379 · 访问量 24万+

猜你喜欢

转载自blog.csdn.net/qq_45765882/article/details/104577533