文章目录
- 一、参数传递
- 二、案例:遍历数操作
- 三、案例:获取最值
一、参数传递
1、基本类型传递(实参、形参)
在调用方法时传入的参数叫做实参,定义方法与方法实际执行时使用的参数是形式参数,即形参。
public class Test06{
public static void main(String[] args){
int num = 10;
System.out.println("调用方法前,num= " + num);
int res = get_max(num);
System.out.println("调用方法后,num= " + num);
System.out.println("===================This is bottom!=====================");
}
public static int get_max(int n){
n = n*n;
return n;
}
}
在方法中修改变量的值,其实际值不会改变。也就是说,修改形参的值,实参的值不会变。
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);
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] = 999;
return n;
}
}
二、案例:遍历数操作
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);
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;
}
public static int[] mutiply_2(int[] data2){
for(int i=0; i<data2.length; i++){
data2[i] *= 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();
}
}
三、案例:获取最值
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];
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]);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)