1.方法
在java中没有函数这个概念,只有方法!!!
是一段代码,可以有很多条语句,通过{}进行修饰,可以在需要使用的地方进行代码的使用.
优点:
- 使得同一段反复使用—>提升代码的复用性
- 使得代码更清晰条理
- 代码更具有面向对象的思维
2.方法的定义
返回值类型 方法的名字(方法的参数化列表){
方法体
}
- 返回值类型:是一个数据类型,包括八大基本数据类型和String类型和数组类型;返回值是一个方法执行完毕之后,携带给使用该方法的人的一个结果.
- 方法的名字:和标识符一样的命名规范
- 参数化列表:在使用方法的时候的一些输入条件,如果没有这些条件,该方法无法使用
- 方法体:使用该方法时会执行的代码
3.无参无返回值
方法的定义:
static void 方法名(){
//方法体
}
注意:
- 方法不允许在其他方法内部定义,所有的方法(包含main)都是并列的
- void代表当前方法没有返回值,无需设置任何返回
使用:
方法名();
- 方法必须在定义之后才可以使用
- 方法的使用称为调用
- 方法的调用可以在任何方法的方法体内进行
4.有参无返回值
方法定义:
static void 方法名(形式化参数列表){
//方法体
}
注意:
- 形式化参数列表相当于定义变量,但是不允许赋值,类似于 int a
- 形式化参数列表简称为形参
- 多个形参之间使用逗号分割,int a,double b
- 方法允许设置多个形参,没有上限,也可以一个都不写
- 形参的类型允许设置为所有类型,且和顺序无关
方法调用:
方法名(实际化参数列表);
注意:
- 实际化参数列表简称实参
- 实参要按照方法定义过程中形参的类型和顺序以及个数进行一对一的赋值,多个参数之间用逗号隔开
- 实参不需要设置类型和复制符号,直接写数值即可
- 实参名字无需和形参名字一致
5.有参有返回值
方法定义:
static 返回值类型 方法名(形参列表){
//方法体
return 返回值;
}
- 返回值类型:只允许设置一个
- return语句必须位于方法逻辑意义上的最后一行
- return后面是方法的返回值,注意:在一次调用期间,一个方法只允许返回一个返回值
- 方法的返回值类型必须和方法名前面声明的类型一致
方法调用:
调用方法的返回值类型 变量 = 方法名(实参列表);
注意:
- 对于有返回值的方法,可以接收返回值,也可以不接收
- 接收返回值的变量的类型必须和方法的返回值一致
6.方法的返回值
return关键字的使用
a.表示一个函数执行完成之后所得到的结果 void:表示没有返回值
b.return的使用
1>在没有返回值的函数中使用return return单独成立一条语句,类似于break或者continue,后面不能跟任何的数值 作用:结束整个方法
2>在一个有返回值的函数中使用return 这种情况下函数中必须出现return return后面必须跟一个具体的数值,而且数值的类型和返回值类型必须保持一致 作用:结束整个方法,并且将返回值携带给调用者
3>如果一个自定义的函数有返回值,并且在方法中遇到了分支结构,使用return 在每一个分支后面 都需要出现一个return
7.方法的重载###
- 方法的名称相同,方法的参数列表不同,和返回值无关,把这样的多个重名的方法之间的关系称为重载关系
- 参数列表不同:
– 参数的个数不同
–参数的类型不同
–在参数的类型不同的前提下,参数的顺序不同
8.方法传参
package cn.cc.ex1;
public class Demo2 {
public static void main(String[] args) {
Demo2 demo2 = new Demo2();
int num = 5;
int[] arr = {5};
System.out.println("调用方法前的值是:");
System.out.println("num="+num);
System.out.println("ary[0]="+arr[0]);
demo2.change1(num);
demo2.change2(arr);
System.out.println("调用方法后的值是:");
System.out.println("num="+num);//5
System.out.println("ary[0]="+arr[0]);//10
}
//传值,传递的是值的一个副本,不改变值
public void change1(int num) {
num+=5;
}
//传引用,传递的是地址,改变值
public void change2(int[] arr) {
arr[0] = arr[0]+5;
}
}