方法
文章目录
一、方法概述
方法是将具有独立功能的代码块组织为一个整体,使其具有特殊功能的代码集
1.方法定义:
格式:
public static void 方法名() {
//方法体
}
2.方法调用:
格式:方法名()
代码示例:
public class MethodDemo {
public static void main(String[] args) {
//调用方法
isEvenNumber();
}
//需求:定义一个方法,在方法中定义一个变量,判断该数据是否是偶数
public static void isEvenNumber(){
//定义变量
int number = 10;
//判断该数据是否是偶数
if(number%2 == 0){
System.out.println(true);
}else{
System.out.println(false);
}
}
}
二、方法练习
需求:设计一个方法用于打印两个数中的较大数
思路:
1.定义一个方法,用于打印两个数字中的较大数,如:getMax()
2.方法中定义两个变量,用于保存两个数字
3.使用分支语句分两种情况对两个数字的大小关系进行处理
4.在main()方法中调用定义好的方法
代码示例:
public class MethodTest {
public static void main(String[] args) {
//方法调用
getMax();
}
//定义一个方法,用于打印两个数字中的较大数
public static void getMax(){
//方法中定义两个变量,用于保存两个数字
int a = 10;
int b = 20;
//使用分支语句分两种情况对两个数字的大小关系进行处理
if (a>b){
System.out.println(a);
}else {
System.out.println(b);
}
}
}
三、带参数方法的定义和调用
1.方法定义:
格式(单个):public static void 方法名 (数据类型 变量名){.....}
格式(多个):public static void 方法名 (数据类型 变量名1 , 数据类型 变量名2){.....}
2.方法调用:
格式(单个):方法名(变量名/常量值);
格式(多个):方法名(变量名1/常量值1 ,变量名2/常量值2 );
注意
方法调用时,参数类型必须与方法定义中的设置相匹配,否则程序将报错
3.带参数方法练习:
需求:设计一个方法用于打印两个数中的较大值,数据来自于方法参数
代码示例:
public class MethodTest {
public static void main(String[] args) {
//常量的方式调用
//getMax(10,20);
//使用变量的方式调用
int a = 10;
int b = 20;
getMax(a,b);
}
//定义一个方法,用于打印两个数字中的较大数
//方法中定义两个参数,用于接收两个数字
public static void getMax(int a,int b){
//使用分支语句分两种情况对两个数字的大小关系进行处理
if (a>b){
System.out.println(a);
}else {
System.out.println(b);
}
}
}
四、形参与实参
形参:方法定义中的参数,等同于变量定义格式。例如:int number
实参:方法调用中的参数。等同于使用变量或常量。例如: 10 number
五、带返回值的方法定义
格式:数据类型 变量名 = 方法名(参数)
注意:方法的返回值通常会使用变量接受,否则该返回值将无意义
代码示例:
public class MethodDemo1 {
public static void main(String[] args) {
//1.方法名(参数)
//isEvenNumber(10);
//2.数据类型 变量名 = 方法名(参数)
boolean flag = isEvenNumber(10);
System.out.println(flag);
}
//需求:定义一个方法,在方法中定义一个变量,判断该数据是否是偶数
public static boolean isEvenNumber(int number){
if (number%2 == 0){
return true;
}else{
return false;
}
}
}
1.方法的注意事项
方法不能嵌套定义
void表示无返回值,可以省略return,也可以单独书写return。后面不加数据
2.方法的通用格式
格式:
3.方法重载
方法重载值同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载
1.多个方法在同一个类中
2.多个方法具有相同的方法名
3.多个方法的参数不相同,类型不同或者数量不同
方法重载的特点:
重载仅对应方法的定义,与方法的调用无关,调用方式参照标准格式
重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关,换句话说不能通过返回值来判定两个方法是否相互构成重载
public class MethodDemo2 {
public static void main(String[] args) {
//调用方法
int result = sum(10,20);
System.out.println(result);
double result2 = sum(10.0,20.0);
System.out.println(result2);
int result3 = sum(10,20,30);
System.out.println(result3);
}
//1,2,3两两相互构成重载
//需求1:求两个int类数据和方法
public static int sum(int a,int b){
return a+b;
}
//需求2:求两个double类型数据和方法
public static double sum(double a,double b){
return a+b;
}
//需求3:求三个int类型数据和方法
public static int sum(int a,int b,int c){
return a+b+c;
}
}
4.方法的参数传递
对于基本数据类型的参数,形式参数的改变,不影响实际参数的值
package demo;
/*对于基本数据类型的参数,形式参数的改变,不影响实际参数的值*/
public class MethodDemo3 {
public static void main (String[] args) {
int number = 100;
System.out.println("调用change方法前:" + number);
change(number);
System.out.println("调用change方法后:" + number);
}
public static void change ( int number){
number = 200;
}
}
调用change方法前:100
调用change方法后:100