Java基础语法之方法的参数传递与综合案例

一、参数传递

1、基本类型传递(实参、形参)
在调用方法时传入的参数叫做实参,定义方法与方法实际执行时使用的参数是形式参数,即形参。

public class Test06{
    
    
	public static void main(String[] args){
    
    	
		int num = 10;
		
		System.out.println("调用方法前,num= " + num);  //输出调用函数前的结果
		int res = get_max(num);  //调用方法,传入数组;并用res来接收计算出来的最大值
		System.out.println("调用方法后,num= " + num);  //输出调用函数后的结果
		
		System.out.println("===================This is bottom!=====================");
	}
	
	public static int get_max(int n){
    
    
		//在方法中将形参平方
		n = n*n;
		return n;  //返回值
	}
}

1.1.1
在方法中修改变量的值,其实际值不会改变。也就是说,修改形参的值,实参的值不会变。

2、引用类型传递(数组)

public class Test06{
    
    
	public static void main(String[] args){
    
    	
		int num[] = {
    
    10, 11};  //静态初始化方法定义数组
		
		System.out.println("调用方法前,num[0]= " + num[0]);  //输出调用函数前的结果
		System.out.println("调用方法前,num[1]= " + num[1]);  //输出调用函数前的结果
		int res[] = method(num);  //调用方法,传入数组;并用res数组来接收计算出来的最大值
		System.out.println("调用方法后,num[0]= " + num[0]);  //输出调用函数后的结果
		System.out.println("调用方法后,num[1]= " + num[1]);  //输出调用函数后的结果
		
		System.out.println("===================This is bottom!=====================");
	}
	
	//要返回数组类型的变量,则函数返回值类型也要是数组类型
	public static int[] method(int[] n){
    
    
		//在方法中只修改n[1]的值
		n[1] = 999;
		return n;  //返回数组类型
	}
}

1.2.1

二、案例:遍历数操作

1、需求
用键盘输入数字,将输入的数全部做乘2操作。

2、分析
① 定义一个数组,用动态初始化完成数组元素初始化;使用键盘对数组值进行录入;
② 定义一个方法,对数组进行遍历输入;
③ 定义一个方法,对数组进行*2操作;
④ 定义一个方法,对数组进行遍历打印,数据不换行,使用System.out.print();

3、练习代码

import java.util.Scanner;  //使用键盘录入
public class Test06{
    
    
	public static void main(String[] args){
    
    	
		System.out.print("你将输入多少个数:");  //提示输入数量
		Scanner sc1 = new Scanner(System.in);  //实例化输入对象
		int n = sc1.nextInt();  //录入数量
		
		int num[] = new int[n];  //动态初始化方法定义数组,数组大小为用户输入的数量
		
		data_in(num);  //调用方法,进行键盘录入,传入数组和数的个数;
		mutiply_2(num);  //调用方法,将数据都*2
		data_out(num);  //调用方法,遍历数据都输出
		
		System.out.println("===================This is bottom!=====================");
	}
	
	//对数组值进行录入的函数
	public static int[] data_in(int[] data1){
    
    
		System.out.print("请输入需要转换的数:");
		Scanner sc2 = new Scanner(System.in);  //实例化输入对象
		for(int i=0; i<data1.length; i++){
    
    
			data1[i] = sc2.nextInt();  //录入数据
		}
		return data1;  //返回数组类型
	}
	
	//对数组值进行*2操作的函数
	public static int[] mutiply_2(int[] data2){
    
    
		for(int i=0; i<data2.length; i++){
    
    
			data2[i] *= 2;  //遍历每个数,将其*2
		}
		return data2;  //返回数组类型
	}
	
	//对数组值进行遍历输出的函数,输出不会改变数组值,就不需要返回值类型了
	public static void data_out(int[] data3){
    
    
		System.out.print("将你输入的数都*2后为:");
		for(int i=0; i<data3.length; i++){
    
    
			System.out.print(data3[i] + "  ");
		}
		System.out.println();  //函数接收后换行
	}
}

2.3.1

三、案例:获取最值

1、需求
通过键盘输入任意个数字,输出这些数字中的最大值和最小值。

2、练习代码

import java.util.Scanner;  //使用键盘录入
public class Test06{
    
    
	public static void main(String[] args){
    
    	
		System.out.print("你将输入多少个数:");  //提示输入数量
		Scanner sc1 = new Scanner(System.in);  //实例化输入对象
		int n = sc1.nextInt();  //录入数量
		
		int num[] = new int[n];  //动态初始化方法定义数组,数组大小为用户输入的数量
		int culmination[] = new int[2];  //定义一个大小为2的数组,存放最大值、最小值
		
		data_in(num);  //调用方法,进行键盘录入,传入数组和数的个数;
		culmination = get_max_min(num);  //调用方法,将数据获得最大值与最小值
		data_out(culmination);  //输出最大值和最小值,传入存放最值的数组
		
		System.out.println("===================This is bottom!=====================");
	}
	
	//对数组值进行录入的函数
	public static int[] data_in(int[] data1){
    
    
		System.out.print("请输入你的数据:");
		Scanner sc2 = new Scanner(System.in);  //实例化输入对象
		for(int i=0; i<data1.length; i++){
    
    
			data1[i] = sc2.nextInt();  //录入数据
		}
		return data1;  //返回数组类型
	}
	
	//对数组值进行遍历,找出最大值和最小值
	public static int[] get_max_min(int[] data2){
    
    
		int max = data2[0];  //首先让最大值和最小值都等于初值
		int min = data2[0];
		for(int i=1; i<data2.length; i++){
    
    
			if(data2[i] > max){
    
    
				max = data2[i];  //更新最大值
			}
			if(data2[i] < min){
    
    
				min = data2[i];  //更新最小值
			}
		}
		
		//定义临时数组,传回两个最值
		int temp[] = {
    
    max, min};
		return temp;  //返回数组类型
	}
	
	//对数组值进行遍历输出的函数,输出最大值和最小值
	public static void data_out(int[] cul){
    
    
		System.out.println("这些数中的最大值= " + cul[0]);
		System.out.println("这些数中的最小值= " + cul[1]);
	}
}

3.2.1

猜你喜欢

转载自blog.csdn.net/Viewinfinitely/article/details/119931934
今日推荐