方法的概和格式
1、方法的概念
:
就是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集。
将具有特殊功能的一段代码,使用大括号{}括起来,添加必要的修饰符,起个名字, 方便使用
2、方法的格式
:
修饰符 返回值类型 方法名称(参数列表) {
功能代码;
return ;//如果返回值类型是void,建议省略不写
}
格式解释:
(1)修饰符: public static 目前写法
(2)返回值类型: 告诉方法的调用者,方法结束后,给你一个什么类型的数据
方法的功能代码执行完毕后,产生的需要返还给方法的调用者的结果数据的具体类型
举例:
如果方法内部返回整数数字10,返回值类型写为int
如果方法内部返回小数数字6.7,返回值类型写为double
如果方法内部返回true/false,返回值类型写为boolean
(3)方法名称:
给方法起个名字(符合标识符的命名规范,小驼峰原则)
(4)参数列表: 你调用我这个方法时,需要给我几个什么样子的数据
就是在定义方法时,小括号()中定义了一个/多个变量
定义方法参数列表举例:
(int a): 调用方法时,必须传递给方法一个int类型的数据
(int a,int b): 调用方法时,必须传递给方法两个int类型的数据
(double a,double b): 调用方法时,必须传递给方法两个double类型的数据
(5)功能代码: 完成特殊功能的一行/多行代码
(6)return 返回值/结果数据;:
a.结束方法
b.把return 后面的返回值/结果数据,返还到方法的调用处
4.方法的理解(工厂/机器)
(1)生产汽车的工厂:
原材料: 发动机,变速箱...
产出物: BMW750Li
原材料是进入工厂/机器的东西,相当于调用方法时传递的数据 参数列表
产出物是从工厂/机器中出来的东西,相当于调用方法后的返回值 返回值 --- 返回值类型
5.定义方法的三要素
(1)方法名称:
(2)参数列表:
(3)返回值类型:
6.注意:
(1)方法定义完毕后不调用不执行
(2)调用格式:
方法名称(参数1,参数2...);
(3)方法可以调用任意多次
3、方法的定义
和调用
3.1 无返回值无参数
方法的定义和调用
/*
无返回值无参数方法的定义和调用
无参数:
目前没有参数,不需要写参数列表,但是必须保留小括号()
无返回值:
目前定义的方法没有返回值,返回值类型固定写为void
方法内部没有数据返还给调用者,没有返回值,返回值类型固定写为void
1.练习:
定义方法method,方法内部输出一句话"我是一个无返回值无参数方法"
2.注意:
(1)方法定义完毕后不调用不执行
(2)调用格式:
方法名称(...);
(3)方法可以调用任意多次
*/
public class Method {
public static void main(String[] args) {
System.out.println("方法调用之前");
//调用方法
method();
System.out.println("方法调用之后");
}
//定义方法method,方法内部输出一句话"我是一个无返回值无参数方法"
public static void method() {
System.out.println("我是一个无返回值无参数方法");
return ;//结束方法,返回到方法的调用处,建议省略
}
}
3.2 带参数的方法
方法的定义和调用
/*
带参数无返回值的方法练习
方法是否需要参数:
分析方法需求中是否具有不确定的东西
方法是否需要返回值:
如果方法需求中能够看到打印/输出二字,说明该方法不需要返回值,返回值类型固定写为void
1.练习:
定义一个方法,打印一个整数数字是否是偶数
2.三要素:
(1)方法名称: printOut
(2)参数列表: int num
(3)返回值类型: void
*/
public class PrintOut {
public static void main(String[] args) {
//调用方法: 传递的是常量
printOu(31);
//调用方法方法: 传递变量
int a = 32;
printOu(a);
}
//定义一个方法,打印一个整数数字是否是偶数
/*
调用方法printOut时,必须传递一个int类型的数据,
printOut方法内部执行完毕后直接打印输出结果
*/
public static void printOut(int num) {
boolean result = (num % 2 == 0) ? true : false;
System.out.println(num + "是偶数吗? " + result);
return ;//结束方法,返回到方法的调用处
}
}
3.3 带返回值的方法
方法的定义和调用
/*
有参数有返回值的方法练习
方法是否需要参数:
分析方法需求中是否具有不确定的东西
方法是否需要返回值:
如果方法需求中能够明确看到打印/输出二字,说明该方法不需要返回值,返回值类型固定写为void
如果方法需求中能够明确看到获取/返回/判断二字,说明该方法需要返回值,必须定义具体的返回值类型
1.练习:
定义一个方法,该方法接收一个int参数,判断该数据是否是偶数,并返回真假值
2.三要素:
(1)方法名称: getOut
(2)参数列表: int num
(3)返回值类型: boolean
练习中如果没有明确数据类型,默认int类型
*/
public class GetOut {
public static void main(String[] args) {
//调用方法: 传递的是常量
boolean result = getOut(11);
System.out.println("11是偶数吗? "+result);
//调用方法方法: 传递变量
int a = 12;
result = getOut(a);
System.out.println(a+"是偶数吗? "+result);
}
//定义一个方法,该方法接收一个int参数,判断该数据是否是偶数,并返回真假值
/*
调用方法getOut时,必须传递一个int类型的数据,
getOut方法内部执行完毕后,会返还一个boolean类型的数据
有进(参数)有出(返回值)
*/
//boolean: 告诉方法的调用者,方法功能代码执行完毕后,会返回数据的具体类型(会返回一个什么样子的数据)
public static boolean getOut(int num) {
boolean result = (num % 2 == 0) ? true : false;
return result;//结束方法,并且把result中的数据,返还给方法的调用处/者
}
}
4、方法的注意事项
1.方法不能嵌套定义
(在定义方法的内部又定义了其它方法),可以调用其它方法
2.方法可以嵌套调用
3.返回值类型,必须要和 return 语句返回的数据的类型要匹配
,否则编译失败
。
4.不能在 return 后面写代码
, return 意味着方法结束,所有后面的代码永远不会执行
,属于无效代码
。
5、形式参数和实际参数的区别
形式参数和实际参数的区别
1.形式参数:
(1)概念: 定义方法时()中定义的参数(定义变量),叫做形式参数
(2)特点:
a.定义形式参数的时候,是没有值的
b.当调用该方法时,形式参数才会有值
2.实际参数:
(1)概念: 调用方法时()中给出的参数(常量/变量),叫做实际参数
(2)特点:
a.调用方法时,()中写的数据(常量/变量)
b.必须要有值才可以
public class ParamDiff {
public static void main(String[] args) {
/*
2.实际参数:
(1)概念: 调用方法时()中给出的参数(常量/变量),叫做实际参数
(2)特点:
a.调用方法时,()中写的数据(常量/变量)
b.必须要有值才可以
*/
//调用方法: 传递常量
printSum(10,20);//10,20叫做实际参数
//调用方法: 传递变量
int m = 100,n = 200;
printSum(m,n);//m,n叫做实际参数
}
/*
1.形式参数:
(1)概念: 定义方法时()中定义的参数(定义变量),叫做形式参数
(2)特点:
a.定义形式参数的时候,是没有值的
b.当调用该方法时,形式参数才会有值
*/
//定义方法,打印2个int数字之和
public static void printSum(int a, int b) {
int sum = a + b;
System.out.println("和: "+sum);
return ;//结束方法,返回到方法的调用处,注意没有带回任何数据
}
}