Java-方法

Java方法

方法就是一段代码片段,这个片段可以完成特定的功能,并且可以重复利用。

1.方法的定义格式
2.可变个数的形参的方法
3.方法的使用
4.方法的重载
5.方法参数的值传递机制
6.递归方法

【方法的定义格式】

[方法修饰列表] 返回值类型 方法名(方法参数列表){

	方法体

}
  1. 方法修饰列表
    是可选项,方法的修饰符可以包括:public,protected,private,abstract,static, final,synchronized,其中public,protected,private 不能同时存在。

  2. 返回值类型
    如果没有返回值使用void 关键字,如果存在返回值可以是基本类型和引用类型;如果存在返回值,必须使用 return语句,return语句后面不能再执行语句,因为不可能会执行到,编译会发生错误。

  3. 方法名
    任意合法的标识符。

  4. 方法参数列表
    参数列表可以有多个,也可以没有参数。

【可变个数的形参的方法】

  1. 格式:

     数据类型 ... 变量名
     (String ...strs)
    
  2. 可变个数形参的方法与同名的方法之间,彼此构成重载

  3. 可变参数方法的使用与方法参数部分使用数组是一致的

     public void show(String ... strs){
     	for(int i=0;i<strs.length;i++){
     		System.out.println(strs[i]);
     	}
     }
    
  4. 方法的参数部分有可变形参,需要放在形参声明的最后(便于分辨传入的参数属于哪个类型的形参)

     public void show(int ... ints, double m)//无法分辨哪个是属于double类型的,最重要的是编译无法通过
     public void show(1,2,3);
    
     public void show(double m , int ... ints)
     若方法体是System.out.println(m);
     public void show(1,2,3);//1.0
     public void show(1,5,7);//1.0
    
  5. 在一个方法的形参位置,最多只能声明一个可变个数形参

【方法的使用】

方法的使用中,可以调用当前类的属性、方法。

【方法的重载】

  1. 概念:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可

  2. 与权限修饰符、返回值类型、形参变量名、方法体均无关

  3. 两同一不同:同一个类,同一个名字,不同参数(个数或类型)

例子:

public void show(int i);//判断与下面是方法是否构成重载(同一个类中)

private int show(int i);// NO
private int show(int p);// NO
private int show(int p ,char a);// YES

【方法参数的值传递机制】

方法,必须由其所在类或对象调用才有意义。那么Java的实参值如何传入方法中呢?

Java里方法的参数传递方式只有一种:值传递。即将实际参数值的副本(复制品)传入方法内,而参数本身不受影响。

  1. 形参是基本数据类型,将实参基本数据类型变量的“数据值”传递给形参

  2. 形参是引用数据类型,将实参引用数据类型变量的“地址值”传递给形参

两种数据类型的内存图解:

Java-方法


Java-方法


习题:

Java-方法

Java-方法

最后的输出为:15 0 20


Java-方法
Java-方法
方法1使用的System.exit(int status)这个方法是用来结束当前正在运行中的java虚拟机。
方法2是重写了方法

【递归方法】

一个方法体内调用它自身

适合理解递归的问题:
斐波那契数列
台阶问题
汉诺塔问题
快排

Java-方法

上一篇:P4145 上帝造题的七分钟 2 / 花神游历各国(并查集+树状数组)


下一篇:【时间序列预测】基于matlab鲸鱼算法优化LSTM时间序列预测【含Matlab源码 1233期】