美文网首页
Day08_方法

Day08_方法

作者: 蹦蹦跶跶的起床啊 | 来源:发表于2020-02-17 14:57 被阅读0次

方法入门

概念

方法:就是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集。
就是一段用{}括起来的代码, 并且起个名字,添加必要的修饰符,方便实用

无参数无返回值的方法定义

  • 格式

修饰符 返回值类型 方法名 (参数列表){
代码...
return ;

  • 定义格式解释:
    修饰符: 目前固定写法 public static 。
    返回值类型: 目前固定写法 void (方法执行后没有任何结果返回给调用者),其他返回值类型在后面的课程讲解。
    方法名:为我们定义的方法起名,满足标识符的规范,用来调用方法。
    参数列表: 目前无参数, 带有参数的方法在后面的课程讲解。
    return:方法结束,返回到方法调用处。因为返回值类型是void,方法大括号内的return(无返回值类型)可以不写。

无参数无返回值的方法的调用

  • 调用格式:

方法名();

method:

无参数无返回值的方法的调用图解

注意
每个方法在被调用执行的时候,都会进入栈内存,并且拥有自己独立的内存空间,方法内部代码调用完毕之后,会从栈内存中弹栈消失。

方法详解

定义方法的格式详解

修饰符 返回值类型 方法名(参数列表){
//代码省略...
return 结果;
}

修饰符: public static 固定写法
返回值类型: 表示方法运行的结果的数据类型,方法执行后将结果返回到调用者
参数列表:方法在运算过程中的未知数据,调用者调用方法时传递
return:(被称为方法的返回值)将方法执行后的结果带给调用者,方法执行到 return ,整体方法运行结束

定义方法的三个明确

  • 明确方法名称:给方法起个名字,方便调用,只要符合标识符规则就可以,尽量做到见名知意
  • 明确返回值类型:方法计算的是整数的求和,结果也必然是个整数,返回值类型定义为int类型。(如果需求是需要打印...,就不需要返回值,也不需要返回值类型)
  • 明确参数列表:
  1. 计算哪两个整数的和,并不清楚,但可以确定是整数,参数列表可以定义两个int类型的变量,由调用者调用方法时传递(我用这个方法, 就需要你提供的条件).
  2. 变量名称: 用来接收方法调用者,调用方法时传递的具体数据的

带参数的方法定义

  • 定义格式:
    参数:由数据类型和变量名组成 - 数据类型 变量名
    如下:

public static void 方法名 (参数1) {
方法体;
}
public static void 方法名 (参数1, 参数2, 参数3...) {
方法体;
}

public static void printSum(int a,int b){
   int sum = a + b;
   System.out.println(sum);
}

定义方法的参数,对应调用方法 提供的参数

带参数的方法调用

  • 调用格式:
    方法名(参数);
    方法名(参数1,参数2);

  • 范例:
    printSum(5,6);

带参数的方法调用流程图解

形式参数:
定义方法中参数列表里的参数printSum(int a, int b)
实际参数:
调用方法时,提供给所调用方法的参数printSum(num1,num2)

带返回值的方法定义

  • 定义格式
    public static 数据类型 方法名 ( 参数 ) {
    return 数据 ;
    }

  • 范例
    public static int getSum(int a,int b){
    int sum = a + b;
    return sum;
    }

  • 注意
    方法定义时return后面的返回值与方法定义上的数据类型要匹配,否则程序将报错

带返回值的方法调用

  • 调用格式
  1. 赋值调用(定义一个新的变量来接收返回值)
    方法名 ( 参数 ) ;
    数据类型 变量名 = 方法名 ( 参数 ) ;
  2. 打印调用(不用任何变量接受,直接打印输出)


  • 范例
    getSum(5,6);
    int result = getSum(5,6);

  • 注意
    方法的返回值通常会使用变量接收,否则该返回值将无意义

没有返回值的方法的调用

只能使用单独调用
无法使用变量接收或者打印调用

定义方法的注意事项

  • 方法不能嵌套定义
public class MethodDemo {
    public static void main(String[] args) {
 
    }
 
    public static void methodOne() {
        public static void methodTwo() {
            // 这里会引发编译错误!!!
        }
    }
}
  • 返回值类型,必须要和 return 语句返回的类型相同,否则编译失败 。
// 返回值类型要求是int
public static int getSum() {
    return 5;// 正确,int类型
    return 1.2;// 错误,类型不匹配
    return true;// 错误,类型不匹配
}
  • 不能在 return 后面写代码, return 意味着方法结束,所有后面的代码永远不会执行,属于无效代码。
public static int getSum(int a,int b) {
    return a + b;
    System.out.println("Hello");// 错误,return已经结束,这里不会执行,无效代码
}
  • void表示无返回值,可以省略return,也可以单独的书写return,后面不加数据
    只要方法有返回值类型,方法中有且仅有一条return语句运行
public class MethodDemo {
    public static void main(String[] args) {
 
    }
    public static void methodTwo() {
        //return 100; 编译错误,因为没有具体返回值类型
        return; 
        //System.out.println(100); return语句后面不能跟数据或代码
    }
}

相关文章

  • Day08_方法

    方法入门 概念 方法:就是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集。就是一段用{}括起来的...

  • day08_字典与set

    字典的其他方法 1,dict。copy() 返回一个新的字典 2,dict.formkeys(seq,value...

  • day08_面向对象_集合

    toString方法,是Object类的方法,java中所有类都默认继承这个方法,这个方法将返回当前这个类的类名+...

  • 《MyBatis报错》Type interface Day08_

    1.原因分析   在mapper配置文件中的命名空间配置出错 2.解决方案   命名空间配置为对应接口的全限定名

  • day08_面向对象_内部类

    内部类概述: 内部的访问特点: 内部类位置 成员位置:在成员位置定义的类,被称为成员内部类。 匿名内部类 就是内部...

  • day08_面向对象_继承和多态

    继承 在此之前,我要写一个比较重要的一点,在JAVA核心教程和head of JAVA中都提到的,单例设计模式,它...

  • day08_文件的拆分合并

    android 端java代码:public class MainActivity extends AppComp...

  • day08_面向对象_抽象类和接口

    抽象类 抽象类的概述: 动物不应该定义为具体的东西,而且动物中的吃,睡等也不应该是具体的。我们把一个不是具体的功能...

  • 方法,方法,方法。

    解决问题的方法。

  • indexedDB方法封装

    方法一 方法二 方法三 方法四 方法五 方法六 方法七 方法八 方法九 方法十 方法十一 可以通过es6的方法去全部导出

网友评论

      本文标题:Day08_方法

      本文链接:https://www.haomeiwen.com/subject/sonvfhtx.html