Java-方法_参数传递
一、参数传递
1.分类
基本类型引用类型
2.注意
- 一个方法可以有0或多个参数,使用
,隔开 - 参数类型可以是
基本数据类型/引用数据类型
2021年11月5日19:30:26 学习更新
3.可变参数
在同一个类中多个同名同功能但参数个数不同的方法,封装成一个方法
- 可变参数可以是
0个或多个 - 可变参数的实参可以传入
数组 - 可变参数的本质就是
数组 - 普通参数+可变参数,
可变参数必须放后面 - 形参列表只能有一个
可变参数
public static void test(String s,int...nums){
int nums = 0;
// nums为一个数组
for(int i=0;i<nums.length;i++){
sum += nums[i];
}
}
二、参数传递_基本类型
1.代码
package com.nsys;
/**
* @Author: nsys
* @Date: 2021-10-05 12:10
* @Description: 方法参数传递_基本类型
*/
public class ArrayDemo8 {
public static void main(String[] args) {
// 初始化number值为100
int number = 100;
System.out.println("调用change方法前:" + number);
// 将number=100传入change方法
change(number);
System.out.println("调用change方法后:" + number);
//调用change方法前:100
//调用change方法后:100
}
// change方法,将200赋值给形参number
public static void change(int number){
number = 200;
}
}
2.结论
对于基本数据类型的参数,形参的改变,不影响实参的值


三、参数传递_引用类型
1.代码
package com.nsys;
/**
* @Author: nsys
* @Date: 2021-10-05 12:20
* @Description: 方法参数传递_引用类型
*/
public class ArrayDemo9 {
public static void main(String[] args) {
// 初始化一个静态数组
int[] arr = {1, 2, 3};
System.out.println("调用change方法前:" + arr[0]);
// 将数组arr,传入change方法
change(arr);
System.out.println("调用change方法后:" + arr[0]);
//调用change方法前:1
//调用change方法后:100
}
// change方法,将100赋值给形参number
public static void change(int[] arr) {
arr[0] = 100;
}
}
2.结论
- 对于
引用类型的参数,形参的改变,影响实参的值

四、代码
1.数组遍历
package com.nsys;
/**
* @Author: nsys
* @Date: 2021-10-05 14:33
* @Description: 设计一个方法用于数组遍历,要求遍历的结果是在一行上的,如[11,22,33]
*/
public class MethodDemo4 {
public static void main(String[] args) {
// 静态初始化数组
int[] arrTest = {123,122,11,44,22,55,11};
arrayResult(arrTest);
}
public static void arrayResult(int[] arr){
for (int i=0;i<arr.length;i++){
if (i == 0){
System.out.print("[" + arr[i]+",");
}else if (i == arr.length-1){
System.out.print(arr[i] + "]");
}else {
System.out.print(arr[i] + ",");
}
}
}
}
2.数组最值
package com.nsys;
/**
* @Author: nsys
* @Date: 2021-10-05 14:51
* @Description: 方法_数组最值
*/
public class MethodDemo5 {
public static void main(String[] args) {
// 静态初始化数组
int[] arrTest = {1,2,3,4,5,6,100,7};
arrayMax(arrTest);
}
/*
* 创建arrayMax方法,获取数组最大值
* 返回值类型:因为不需要有返回值,所以用void
* 参数:传递的参数类型是int类型的数组,所以用int[]
* */
public static void arrayMax(int[] arr){
int arrMax = arr[0];
for (int i=1;i < arr.length; i++){
if (arr[i] >arrMax){
arrMax = arr[i];
}
}
System.out.println(arrMax);
}
}
五、思考



浙公网安备 33010602011771号