方法的定义
Java的方法类似与其他语言的函数,是一段用来完成特定功能的代码片段,一般情况下,定义一个方法包含以下语法:
方法包含一个方法头和一个方法体。下面是一个方法的所有部分
修饰符 返回值类型 方法名(参数类型 参数名){
...
方法体
...
return 返回值;
}
修饰符: 修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。
返回值类型: 方法可能会返回值。returnValueType是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType是关键字void。
方法名:是方法的实际名称。方法名和参数表共同构成方法签名。
参数类型: 参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或者变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。
形式参数:在方法被调用时用于接收外界输入的数据。
实参: 调用方法是实际传给方法的数据。
方法体:方法体包含具体的语句,定义该方法的功能。
package com.method;
public class Demo02 {
public static void main(String[] args) {
int max = max(10,10);
System.out.println(max);
}
public static int max(int a,int b){
int result = 0;
if(a==b){
System.out.println("两个值相等");
return 0;//方法终止
}
if(a > b){
result = a;
}else{
result = b;
}
return result;
}
}
结果: 两个值相等
0
方法调用
调用方法:对象名.方法名(实参列表)
Java支持两种调用方法的方式,根据方法是否返回值来选择
当方法返回一个值的时候,方法调用通常被当作一个值。列如:
int larger = max(30,40);
如果方法返回值是void,方法调用一定是一条语句。
System.out.println("Hello,world!");
课后拓展了解: 值传递(Java)和引用传递。(面试会问)
值传递:会创建副本,不会影响原始值
例如:
package com.method;
public class Demo04 {
public static void main(String[] args) {
int b = 10;
change(b);
System.out.println(b); //结果为10
}
static void change(int a){
a = 100;
}
}
结果为:10
b并未在change方法中被改变。
引用传递:不会创建副本 会影响原始值
package com.method;
public class Demo03 {
public static void main(String[] args) {
String[] a = {"1","2","3"};
System.out.println(a[0]); // 1
foo(a);
System.out.println(a[0]); // 100
}
static void foo(String[] a) {
a[0] = "100";
}
}
结果为:1
100
a[o]的值受到影响。