什么是方法?
方法就好比是一个家具工厂,工厂要有“原料”:木头,锯子。而工厂凭借这这些工具(条件)做出来各式各样的家具,就是它的产出物。这个工厂的原料就是方法的“参数”,而产出物就是方法的“返回值”。文章源自亦枫博客-https://yflad.cn/2044.html
简单来说,就是能够实现某种特定功能的代码块文章源自亦枫博客-https://yflad.cn/2044.html
文章源自亦枫博客-https://yflad.cn/2044.html
语法格式及解释
权限修饰符 返回值类型 方法名(参数列表) { 方法体 } //例如: public static int sum(int a,int b){ int sum=a+b; return sum; }
文章源自亦枫博客-https://yflad.cn/2044.html
解释:文章源自亦枫博客-https://yflad.cn/2044.html
1、权限修饰符:例如 public static文章源自亦枫博客-https://yflad.cn/2044.html
2、返回值类型:文章源自亦枫博客-https://yflad.cn/2044.html
1)有返回值,需要返回什么数值类型就返回什么数值类型文章源自亦枫博客-https://yflad.cn/2044.html
2)无返回值,用关键字void来进行表示文章源自亦枫博客-https://yflad.cn/2044.html
3、方法名:标识符,遵循驼峰命名法文章源自亦枫博客-https://yflad.cn/2044.html
4、参数列表:由0到多个数据类型和变量组成,多个列表用逗号隔开文章源自亦枫博客-https://yflad.cn/2044.html
5、方法体:实现具体业务逻辑代码文章源自亦枫博客-https://yflad.cn/2044.html
6、return:有两个作用文章源自亦枫博客-https://yflad.cn/2044.html
1)停止当前方法文章源自亦枫博客-https://yflad.cn/2044.html
2)将后面的返回值还给调用处文章源自亦枫博客-https://yflad.cn/2044.html
注:return后面的“返回值”,必须和方法名称前面的“返回值类型”,保持对应。文章源自亦枫博客-https://yflad.cn/2044.html
例如,有返回值:文章源自亦枫博客-https://yflad.cn/2044.html
public static int sum(int a,int b){ //a、b称为 形参 int sum=a+b; //1.将运算结果返回给变量 return sum; //2.结束调用 }
例如,无返回值:文章源自亦枫博客-https://yflad.cn/2044.html
public static void sum2(int a,int b){ //a、b称为 形参 System.out.println(a+b); }
调用:文章源自亦枫博客-https://yflad.cn/2044.html
public static void main(String[] args){ int summ = sum(5,6); System.out.println(summ); //有返回值 sum2(7,8); //无返回值 }
注意:
对于有返回值的方法,可以使用单独调用、打印调用或者赋值调用。
但是对于无返回值的方法,只能使用单独调用,不能使用打印调用或者赋值调用。
调用方法的三种格式
1. 单独调用:方法名称(参数);
2. 打印调用:System.out.println(方法名称(参数));
3. 赋值调用:数据类型 变量名称 = 方法名称(参数);
例如:
public static int sum(int a, int b) { System.out.println("正在执行这个方法"); int summ = a + b; return sunmm; }
三种形式的调用:
public class Demo { public static void main(String[] args) { // 单独调用 sum(10, 5); //不会输出计算结果 System.out.println("==========="); // 打印调用 System.out.println(sum(10, 6)); // 16 System.out.println("==========="); // 赋值调用 int su = sum(20, 4); su += 100; System.out.println("变量的值是:" + su); // 124 } }
输出的结果是:
有参数和无参数
需要知道的是:方法的参数不同于Java中的构造函数,它们之间是有区别的。
1、[code]没有static,没有返回值类型,没有void[/code]
2、[code]方法名和类名一致[/code]
1、无参数:小括号当中留空。一个方法不需要任何数据条件,自己就能独立完成任务,就是无参数。例如定义一个方法,打印固定10次HelloWorld。
2、有参数:小括号当中有内容,当一个方法需要一些数据条件,才能完成任务的时候,就是有参数。例如两个数字相加,必须知道两个数字是各自多少,才能相加。
例如:
// 无参数。打印输出固定10次文本字符串 public static void method1() { for (int i = 0; i < 10; i++) { System.out.println("Hello, World!" + i); } }
// 有参数。两个数字相乘 public static void method2(int a, int b) { int result = a * b; System.out.println("结果是:" + result); }
调用:
public static void main(String[] args) { method1(); System.out.println("=============="); method2(10, 20); }
输出的结果:
注意点及总结:
1、方法定义的先后顺序无所谓。
2、方法里面不可以声明方法,但是可以调用方法
3、调用的方法 “ 返回值类型 ” 必须保持一致
4、方法定义之后,自己不会执行;如果想要执行,要进行方法的调用(三种)。
5、 如果方法有返回值,那么必须写上“return 返回值;”,不能没有。
6、return后面的返回值数据,必须和方法的返回值类型,对应起来。
7、对于一个void没有返回值的方法,不能写return后面的返回值,只能写return自己。
8、对于void方法当中最后一行的return可以省略不写。
9、一个方法当中可以有多个return语句,但是必须保证同时只有一个会被执行到,两个return不能连写。
以上是方法的概述,欢迎指正补充!