方法的定义与调用
方法的定义
语法,public static void 方法名(){ }
例如:public static void isEvenNumber(){ }
方法的调用
方法名();
public static void main(String[] args){
isEvenNumber();
}
public static void isEvenNumber(){
int a = 10;
if(a % 2 == 0){
System.out.println(true);
}else {
System.out.println(false);
}
}
方法必须先定义后调用
带参数方法的定义与调用
定义:
public static void 方法名(参数){......}
参数可以是一个也可以是多个
语法,public static void 方法名(数据类型 变量名){......}
例如:public static void isEvenNumber(int a){......}
多个参数时:
语法,public static void 方法名(数据类型1 变量名1,数据类型2 变量名2,.......}
例如:public static void isEvenNumber(int a,int b,int v,.......}
带参数方法的调用:
语法,方法名(变量名/变量值);
例如:isEvenNumber(a);或者是isEvenNumber(5);
方法调用时,参数的数量与类型必须与方法定义中的设置相匹配,否则程序会报错
...
int number = 10;
isEvenNumber(number);
...
public static void isEvenNumber(int number){
if(number % 2 == 0){
System.out.println(true);
}else {
System.out.println(false);
}
实参与形参
形参:方法定义中的参数,等同于变量定义格式
例如:int number
实参:方法调用中的参数
...
int number = 10;
isEvenNumber(number(实参));
...
public static void isEvenNumber(int number(形参)){
if(number % 2 == 0){
System.out.println(true);
}else {
System.out.println(false);
}
带返回值方法的定义与调用
格式 :
public static 数据类型 方法名(参数){
return 数据;
}
范例,public static boolean inEvenNumber(a){
return true;
}
注意:格式中不再有void,返回值的数据类型要与定义的数据类型一致
方法的调用:
1、方法名(参数);
isEvenNumber (5);
2、数据类型 变量名 = 方法名 (参数);
int flag = isEvenNumber(5);
通常方法的返回值会用一个变量接收,否则返回值将没有意义
package com.zuoye;
import java.util.Scanner;
public class zuoye1 {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int a = in.nextInt();
boolean flag = isEvenNumber(a);
System.out.println(flag);
}
public static boolean isEvenNumber(int a){
if(a % 2 == 0){
return true;
}
else{
return false;
}
}
}
方法的注意事项
方法不能嵌套定义
void 表示没有返回值,后面可以省略return,如果书写return,则后面不跟任何值
方法重载
方法重载是指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载
1、多个方法在同一个类中
2、多个方法具有相同的方法名
3、多个方法的参数不相同,类型不同或者数量不同,与返回值无关
在调用时,Java虚拟机会通过参数的不同来区分同名的方法
public class zuoye1 {
public static void main(String[] args){
int a = 10;
int b = 20;
int result = sum(a,b);
System.out.println(result);
}
public static int sum(int a , int b){
return a + b;
}
public static double sum(double a , double b , double c){
return a + b + c;
}
public static int sum(int a , int b , int c){
return a + b + c;
}
}