Java学习笔记——第五天

方法

什么是方法

  • 方法是一种语法结构,它可以把一段代码封装成一个功能,以便重复调用。

  • 定义方法时可以指定形参,形参没有实际意义,仅仅起到占位和提示实参种类的作用,名字要有意义。

  • 调用方法时可以指定实参,实参由实际意义,是方法运行时事实上使用的数值。

  • return关键字可以用来返回变量或字面量到方法外部,程序一旦执行到return所在行,就会立即结束并跳出该方法的执行,不会再执行之后的代码。

为什么要使用方法

提高代码的复用性,提高开发效率,使程序逻辑更清晰。

方法的完整格式

修饰符 返回值类型 方法名(形参列表) {
    方法体代码(需要执行的功能代码);
    return 与返回值类型相同的变量或字面量;
}
  • 若方法申明了具体的返回值类型,则其内部必须使用return返回对应类型的数据。
  • 形参列表可以有多个形参,甚至可以没有。 如果有多个形参,多个形参之间必须用“, ”隔开,且不能给初始化值。

方法的其他格式

无参数方法

没有形参列表的方法。

修饰符 返回值类型 方法名() {
    方法体代码(需要执行的功能代码);
    return 与返回值类型相同的变量或字面量;
}
  • 方法如果不需要接收数据,则不需要定义形参,且调用方法时也不可以传数据给方法了。

无返回值方法

没有返回值的方法。

修饰符 void 方法名(形参列表) {
    方法体代码(需要执行的功能代码);
    return; //可以单独使用return来结束并跳出方法
}
  • 如果方法不需要返回数据,返回值类型必须申明成void(无返回值申明), 此时方法内部不可以使用return返回数据。

无参数且无返回值的方法

既没有形参列表,有没有返回值的方法。

修饰符 void 方法名() {
    方法体代码(需要执行的功能代码);
    return; //可以单独使用return来结束并跳出方法
}

方法如何执行

方法定义后,必须调用才可以执行,调用格式为:

方法名(实参列表);
  • Debug时可以进入方法内部。

方法使用时的常见问题

  • 方法在类中的位置放前放后无所谓,但一个方法不能定义在另一个方法里面。

  • 方法的返回值类型写void(无返回申明)时,方法内不能使用return返回数据,如果方法的返回值类型写了具体类型,方法内部则必须使用return返回对应类型的数据。

  • return语句的下面,不能编写代码,属于无效的代码,执行不到这儿。

  • 方法不调用就不会执行, 调用方法时,传给方法的数据,必须严格匹配方法的参数情况。

  • 调用有返回值的方法,有3种方式:

    • 1、可以定义变量接收结果:

      int a = method();
      
    • 2、或者直接输出调用:

      System.out.println(method());
      
    • 3、甚至直接调用;

      method();
      
  • 调用无返回值的方法,只有1种方式:直接调用:

    method();
    

选择方法的种类

  • 若方法不需要接收数据进行处理,则选择无参数方法,否则选择有参数方法。
  • 若方法不需要返回数据,则选择无返回值方法,否则选择有返回值方法。
  • 按照方法要处理的业务灵活选择。

方法的执行原理

方法被调用的时候,是进入到栈内存中运行的。

栈的特点

  • 先进后出。

  • 用完即扔

为什么方法要在栈中运行

  • 保证一个方法调用完另一个方法后,可以回来。

  • 及时回收内存,防止栈内存溢出。

Java的参数传递机制

值传递

  • 值传递:在传输实参给方法的形参的时候,传输的是实参变量中存储的值的副本。

  • Java的参数传递机制都是值传递。

基本类型的参数传递

基本类型的参数传输存储的数据值。

引用类型的参数传递

引用类型的参数传输存储的地址值。

方法重载

什么是方法重载

一个类中,出现多个方法的名称相同,但是它们的形参列表是不同的,那么这些方法就称为方法重载了。

方法重载的注意事项

  • 一个类中,只要一些方法的名称相同且形参列表不同,那么它们就是方法重载了,其它的都不管(如:修饰符,返回值类型是否一样都无所谓)。
  • 形参列表不同指的是:形参的个数、类型、顺序不同,不关心形参的名称。

方法重载的应用场景

开发中我们经常需要为处理一类业务,提供多种解决方案,此时用方法重载来设计是很合适的。

在方法中单独使用return关键字

“return;”可以用在无返回值的方法中,其作用是:立即结束并跳出当前方法的执行。

posted @ 2024-03-04 13:45  zgg1h  阅读(47)  评论(0)    收藏  举报