方法及方法参数传递

什么是方法?

方法就是创建在类或对象中,能独立实现功能的代码块,能被其他地方多次引用的函数
例如:

 System.out.println();
 public static void main(String[] args){}

其中println();就是一个方法,main()是主方法(程序的入口)

为什么要使用方法?

使用方法可以提供重用性,使程序变的简短清晰,提高程序开发效率

怎么使用方法?

1.方法的命名规则: 以小写字母开头,采用驼峰命名规则命名 例如:oneMethod();
2.方法的语法结构:

修饰符	返回值类型	方法名(形式参数){
功能语句;						
}

其中
1.返回值: 必须有,没有返回值也要用void
2.方法名字:必须有
3.小括号: 必须有
4.形式参数:根据需要设定,也可以没有形式参数,也可以有多个
5.大括号: 必须有: 但是功能语句可以任意写
例如:

public static void thisMethod(int args){
System.out.println("这是一个方法!");
}

3.方法的调用
1.使用方法的三种方式:
1)方法有static修饰:类名.方法名+参数列表[个数,顺序,类型必须一致]
2)方法没有static修饰:对象名.方法名+参数列表[个数,顺序,类型必须一致]
3)方法在同一个类中:方法名+参数列表[个数,顺序,类型必须一致]
a)参数列表: 传入对应类型的数据
2.注意事项:
1)对于方法的使用者而言,无需关心方法内部的实现
2)同一个类中:静态方法不能调用非静态的方法
3)同一个类中:非静态方法可以调用静态方法

例如:在同一个类设计一个方法完成三个整数求和,并调用方法实现功能

public class TestSum {
/** 主方法 */
public static void main(String[] args) {
int a=1;
int b=2;
int c=3;
int sum = sum(a, b,c);
System.out.println(  " 三个整数的和为:" + sum);
}
/** 求出三个整数相加的和,并返回和的值 */
public static int sum(int a,int b,int c) {
int sum;
sum=a+b+c;
return sum;
}

什么是方法的重载?

一个类的两个方法拥有相同的名字,但是有不同的参数列表,Java编译器根据方法签名判断哪个方法应该被调用
1.方法重载的作用
方法重载可以让程序更清晰易读,执行密切相关任务的方法应该使用相同的名字
2.注意事项
重载的方法必须拥有不同的参数列表,你不能仅仅依据修饰符或者返回类型的不同来重载方法
3.实例:

public static double max(double num1, double num2) {
if (num1 > num2)
return num1;
else
return num2;
}

 public static int max(int num1, int num2) {
 	if (num1 > num2)
    return num1;
    else
    return num2;
    }

方法参数怎么传递?

通过值传递参数:
调用一个方法时候需要提供参数,必须按照参数列表指定的顺序提供
方法通过操作由实际参数复制的形式参数实现方法中的独立功能,不影响实际参数的值
实例:

public class TestPassByValue {
public static void main(String[] args) {
int num1 = 1;
int num2 = 2;
System.out.println("交换前 num1 的值为:" +
num1 + " ,num2 的值为:" + num2);
// 调用swap方法
swap(num1, num2);
System.out.println("交换后 num1 的值为:" +
num1 + " ,num2 的值为:" + num2);
}
/** 交换两个变量的方法 */
public static void swap(int n1, int n2) {
System.out.println("\t进入 swap 方法");
System.out.println("\t\t交换前 n1 的值为:" + n1
+ ",n2 的值:" + n2);
// 交换 n1 与 n2的值
int temp = n1;
n1 = n2;
n2 = temp;
System.out.println("\t\t交换后 n1 的值为 " + n1
+ ",n2 的值:" + n2);
}
}

编译运行结果:

交换前 num1 的值为:1 ,num2 的值为:2
    进入 swap 方法
        交换前 n1 的值为:1,n2 的值:2
        交换后 n1 的值为 2,n2 的值:1
交换后 num1 的值为:1 ,num2 的值为:2

可变参数?

声明方式typeName... parameterName
在方法声明中,在指定参数类型后加一个省略号(…) 。

注意事项: 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。

实例:

public class VarargsDemo {
public static void main(String args[]) {
// 调用可变参数的方法
printMax(34, 3, 3, 2, 56.5);
printMax(new double[]{1, 2, 3});
}
public static void printMax( double... numbers) {
if (numbers.length == 0) {
System.out.println("No argument passed");
return;
}
double result = numbers[0];
for (int i = 1; i < numbers.length; i++){
if (numbers[i] > result) {
result = numbers[i];
}
}
System.out.println("The max value is " + result);
}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值