当前位置:网站首页 > Java基础 > 正文

java基础语法232



第三章 方法

方法就是method,实际上就是一块代码,

方法可以有参数,可以有返回值,也可以被调用。

方法就是一种代码复用的方式。

用尽量少的代码,完成指定的功能!!!(写的多,容易错的多。)

1. 方法声明

方法是类的重要的组成部分(方法要写在类里面)。方法通常是一些代码的集合,用于完成指定的功能。

方法可以实现代码的复用。

1.1声明语法

语法:

 

main方法,是Java程序执行的入口方法。

比如:public static void main(String[] args){

}

public static是修饰符,限定方法的使用范围和使用方式

void是返回值的类型,void代表的是没有返回值

main代表类的名字,在入口函数中类的名字只能是main

String[] args 代表参数列表

1.2 修饰符

用来修饰方法的,限定方法的使用范围和使用方式。

权限修饰符:public(公共的),protected,(保护的,默认的:啥也不写),private(私有的)。

限定方法使用方式的,如: static(静态的),final(最终的–>不能被重写的),abstract(抽象的)。

1.3 返回值类型

限定方法在执行结束时,向方法的调用者返回的结果;这个结果的数据类型就是返回值类型。

返回值类型可以是:

1) void:没有返回值。

2) 8种基本数据类型

​ 方法的返回值必须是指定类型的

​ 只要可以自动转换就可以

3) 3种引用类型

​ 类

​ 数组

​ 接口

当方法明确了返回值类型,必须在方法的任意一个出口,使用return返回一个相应类型的值。

如果方法不需要返回值,设置void,依然可以在方法内部使用return,但是return 不能跟任何的数据,即在方法中可以使用return结束方法。

 

比如:

在这里插入图片描述
上面的方法明确了返回值类型为int,必须在方法的任意一个出口,使用return返回一个相应类型的值。即 if 出口和 else 出口都有return 的对应的类型,这里使用的是能自动转换的类型,也是可以的!

无参方法如下所示:

在这里插入图片描述
上述方法是无参方法且返回是void,则return;即可

1.4 参数列表

方法的参数列表是指在调用方法时给方法传递的数据。即方法在调用时可以传递参数,作为方法处理的输入数据。

1)方法可以没有参数列表,无参方法。

 

2)方法的参数列表可以同时传递多个参数,这些参数需要指定数据类型,多个参数之间使用,进行分隔。

 

3)方法的参数需要指定数据类型

4)方法的参数可以是可变参数

在这里插入图片描述

1.5 方法的可变参数(形式是…)

方法的不定参数,让一个方法可以接收不定数量的参数值。

 

这个形参类型,可以接收多个实参,多个实参应该使用,进行分隔。

 

在方法中,可变参数作为一个数组来使用。

2.方法的调用

```在使用方法时,可以通用的形式调用方法。

1) 方法调用时,参数必须匹配(参数的个数,参数的数据类型参数的顺序)。

2) 可变参数的方法在调用时,可以传递0个参数,也可以传递一个参数,还可以传递多个参数。

3)如果方法有返回值,可以使用相同类型的变量接收方法的返回值。比如:

int max=max(10,20);

int min=min(1,2,3,4,5);

 

补充:变量和变量的名字在同一个作用域内不能一样,但是方法名和变量名是可以一样的!

2.1 形参和实参

形参就是形式参数,就是声明方法时,参数列表中的参数。形参在方法中就像一个临时变量。
在这里插入图片描述

实参也叫实际参数,就是在调用方法时,传递的具体的数据。
在这里插入图片描述

2.2递归调用

递归调用就是在一个方法中,调用这个方法自己

比如:求n! n!=1×*2…(n-1)*×n

即n!=(n-1)!×n
在这里插入图片描述

递归在实现算法时更加的直观,容易理解。但递归也有副作用(栈溢出)。
在这里插入图片描述
PS:递归调用都可以转换成循环。

2.3 传值调用和传址调用

传值调用,在调用方法时,如果形参是基本数据类型,这时只是将实参的值复制到形参中,进行调用。

在方法内部,对形参任何修改,都不会影响实参。

传址调用,讲面向对象时,再补充。

当形参是引用类型时,这时将实参的引用地址复制给形参,实参与形参都指向同一个对象。

1) 在方法内部,如果对形参重新赋值,不会响应外部的实参。

2) 在方法内部,如果调用形参的属性或方法,这时可能会响应到外部的实参。

注意:实际上Java中没有传址调用,引用类型的调用只不过是将对象的地址传递给了方法。

3. 方法的重载

在一个类中,如果出现方法名相同,但是参数列表不同的方法,叫做方法的重载。

3.1 参数列表不同

1) 参数的数量不同

2) 参数的数据类型不同

3) java基础语法232参数的顺序不同

以上三项只要有一项满足,就认为参数列表是不同的。

3.2 不构成重载

1) 参数名不同,不构成重载。
如下所示:参数名不同,但是是不构成重载的
在这里插入图片描述

2) 返回值类型不同,不构成重载。

在 JVM 中每一个方法的唯一标识由:包名,类名,方法名,参数列表(参数数量,数据类型,顺序)组成

3.3 重载方法的调用

重载方法的调用,由实参的数据类型决定。

不是由实参的值的类型决定的。

调用时,会根据实参的数据类型寻找数据类型最为匹配的方法进行调用。

byte => short => int => long => float => double

版权声明


相关文章:

  • java教学视频入门零基础2024-11-04 22:26:06
  • java零基础学成2024-11-04 22:26:06
  • java基础语法学完了2024-11-04 22:26:06
  • 黑马程序员java基础案例笔记2024-11-04 22:26:06
  • 手机java编程零基础教学2024-11-04 22:26:06
  • Java基础判断回文数2024-11-04 22:26:06
  • java实例化基础2024-11-04 22:26:06
  • 26岁0基础转行java 知乎2024-11-04 22:26:06
  • java基础学习大纲2024-11-04 22:26:06
  • java oop基础理论题2024-11-04 22:26:06