方法的定义和使用

一、开发工具InTelliJ IDEA


1. 常用快捷键

快捷键 功能
Alt+Enter 导入包,自动修正代码
Ctrl+Y 删除光标所在行
Ctrl+D 复制光标所在行的内容,插入光标位置下面
Ctrl+/ 单行注释
Ctrl+Shift+/ 选中代码注释,多行注释,再按取消注释
Alt+Ins 自动生成代码,toString,get,set等方法
Alt+Shift+上下箭头 移动当前代码行
**Ctrl+Alt+L ** 格式化代码,使格式更美观

二、方法进阶


1. 方法的定义

  • 方法一定是定义在类中的,属于类的成员

  • 可以这么理解:方法是若干语句的功能集合。其中

    • 参数就是进入方法的数据
    • 返回值就是从方法中出来的数据
  • 三要素:

    • 返回值类型
    • 方法名称
    • 参数列表
  • 定义方法的完整格式:

    • 修饰符 返回值类型 方法名(参数类型 参数名称,...){
      	方法体 
      	return 返回值;
      }
      
    • 修饰符: public、static、abstract、final等等都是修饰符,一个方法可以有多个修饰符。例如程序入口
      main方法,就使用了public static这个俩个修饰符

    • 返回值类型:方法执行完如果有要返回的数据,那么就要声明返回数据的类型,如果没有返回的数据,那么返回类型就必须写void

      • 只有构造方法(构造器)不写任何返回类型也不写void
    • 方法名称:规则和变量一样,小驼峰

    • 参数类型:进入方法的数据的类型,方法可以是无参的,也可以有一个参数,也可以有多个参数,若有多个参数,使用逗号分隔

    • return后面的返回值必须和方法名称前面的返回值类型保持对应

  • 定义方法要明确两点:

    • 明确返回值类型
    • 明确参数列表
  • 如下面一个定义两个int数字相加的方法

/*
返回值类型:int
方法名称:sum
参数列表:int a,int b
*/
pbulic class text{
    pbulic static void main(String[] args){
        System.out.println(sum(10,20));
    }
    public static int sum(int a,int b){
        int result = a+b;
        return result;
    }
}

2. 方法有参数和无参数

  • 有参数:小括号中有内容,若方法需要一定的数据条件才能完成任务,则就是有参数。例如问两个数相加,此时必须知道两个数具体是多少
  • 无参数:小括号内是空的,方法不需要数据条件自己就能完成任务

3. 方法的调用

在类中定义了方法,这个方法中的代码并不会执行,当这个方法被调用的时候,方法中的代码才会被一行一行顺序执行

① 调用方法
  • 方法调用三种格式:
    • 单独调用:方法名称(参数);,一些情况不会打印结果
    • 打印调用:System.out.println(方法名称(参数))
    • 赋值调用:数据类型 变量名称 = 方法名称(参数)
  • 注意,之前的学习的方法,返回值类型固定写为void,这样没有返回值,这种方法只能单独调用
② 调用方法时的传参
  • 形参和实参

    • 形参的名字和实参的名字都只是一个变量的名字,是可以随便写的,要重点注意变量的类型以及变量接收的值

    • // a = x;
      	public void test(int a){
      		//..
      } 
      main:
      int x = 1;
      t.test(x);
      //参数列表中的a是方法test的形参(形式上的参数)
      //调用方法时的x是方法test的实参(实际上的参数)
      
③ 值传递和引用传递

调用方法进行传参时,分为值传递和引用传递两种

  • 如果参数的类型是基本数据类型,那么就是值传递
    • 值传递是实参把自己变量本身存的简单数值赋值给形参
  • 如果参数的类型是引用数据类型,那么就是引用传递
    • 引用传递是实参把自己变量本身存的对象内存地址值赋值给形参
  • 所以值传递和引用传递本质上是一回事,只不过传递的东西的意义不同而已

4. 方法的重载

方法的重载可以让程序更清晰易读。若方法的功能类似却因为参数列表不同而需要记住很多不同方法名称,那样很麻烦,执行密切相关的方法应该使用相同的名字。重载的方法必须拥有不同的参数列表,不能仅仅依据修饰符或者返回类型的不同来重载方法。

方法的重载就是多个方法的名称一样,但参数列表不同。这样只需要记住一个方法名称就能实现类似的多个功能。具体用哪个方法就看是否匹配。

方法重载的相关因素:

  • 参数个数不同
  • 参数类型不同
  • 参数的多类型顺序不同。如int a,double bint b,double a

方法重载的不相关因素:

  • 参数名称无关
  • 与方法返回值类型无关

4. 使用方法的注意事项

  • 方法应该定义在类中,但不能在方法中定义方法,不能嵌套定义
  • 方法定义的前后顺序无关联
  • 方法定义后不会执行,想要执行就一定要调用
  • 若方法有返回值,那么必须写上代码return 返回值;
  • return 后面的返回值数据必须和方法中的返回值类型对应
  • 对一个void没有返回值的方法,不能写return 后面的返回值,只能写return 自己
  • 对于void方法,最后一行的return 可以不写
  • 一个方法中可以有多个return 语句,但必须保证同时只有一个会被执行,不能连续写两个return
posted @ 2020-05-13 23:48  弥漫s  阅读(729)  评论(0)    收藏  举报