方法
Hello!CSDN的小伙伴们。
这里是老汉的Java成长之路专栏,感兴趣的话就关注老汉并订阅本系列的专栏一起学习吧。
前言
本期老汉为大家介绍Java中的方法,Java中方法的主要作用是封装可重复使用的代码块,以便在程序中其他地方多次调用,从而提高代码复用性,使程序更易于维护和扩展。方法还可以帮助简化代码结构,从而使代码更加可读、易于理解和调试。同时,方法还可以减少代码的冗余度,提高程序的运行效率。在Java中,方法可以有返回值或不返回值,可以具有任意个数的参数,可以在类内和类外定义,还可以访问和修改类的成员变量和其他方法等。因此,使用方法可以大大提高程序的效率、可重用性和可维护性。
一、方法的声明和调用
1.方法声明
语法格式:
访问修饰符 返回类型 方法名(参数列表){
方法体
}
2.方法分类
根据方法是否带参数、是否返回值,可分为四类:
无参无返回值方法
无参带返回值方法
带参无返回值方法
带参带返回值方法
3.无参无返回值方法
题目案例:一行打印输出一串星号
/**
* 题目案例:一行打印输出一串星号
*/
public void star(){
System.out.println("****************************");
}
4.无参带返回值方法
题目案例:求长为3,宽为2的长方形面积
/**
* 题目案例:求长为3,宽为2的长方形面积
* @return 长方形面积
*/
public int area(){
int length=3,wideth=2;
return (length*wideth);
}
5.带参无返回值方法
题目案例:定义一个求两个float类型数据最大值的方法,在方法中将最大值打印输出
/**
*题目案例:定义一个求两个float类型数据最大值的方法,在方法中将最大值打印输出
* @param a 第一个值
* @param b 第二个值
*/
public void max(float a,float b){
if(a>b)
System.out.println(a);
else
System.out.println(b);
}
6.带参有返回值方法
题目案例:定义一个求n!的方法
/**
* 题目案例:定义一个求n!的方法
* @param n 传入的数值
* @return 返回n!
*/
public int fac(int n){
int sum=1;
for(int i=1;i<=n;i++){
sum*=i;
}
return sum;
}
二、数组与方法
1.数组作为方法参数
题目案例:打印输出数组元素的值
/**
* 题目案例:打印输出数组元素的值
* @param arr 需要打印输出的数组
*/
public void printArray(int[] arr){
for(int i:arr){
System.out.print(i+" ");
}
}
题目案例:查找数组元素的值
/**
* 题目案例:查找数组元素的值
* @param n 查找的元素
* @param arr 需要查找的数组
* @return 是否有所该元素
*/
public boolean search(int n,int[] arr){
for(int i:arr){
if(i==n){
return true;
}
}
return false;
}
三、方法重载
1.概念
方法重载是指在一个类中定义多个方法,它们具有相同的名称但参数列表不同,以实现对不同参数类型的处理。这些同名不同参数的方法被称为重载函数或方法。Java方法重载是多态性的一种表现,可以通过传递给方法的不同参数个数和参数类型来决定具体使用哪个方法。重载的方法名要相同,但参数类型和个数不同,返回值类型可以相同也可以不同。
2.识别重载
题目案例:判断下列哪些方法是重载的方法
public void hello(){} 参照方法
public int hello(){} 不是,与返回值类型无关,参数类型个数一样
public void hello(String s){} 是,参数类型不同
public void hello(int n){} 是,参数类型不同
public void hello(float f1,float f2){} 是,参数类型不同
public void hello1(){} 不是,方法名不相同
四、可变参数列表
1.知识点总结
a.可变参数一定是方法中的最后一个参数;
b.数组可以传递给可变参数的方法,反之不行;
c.在重载中,含有可变参数的方法是最后被选中的。
2.格式示例
例如:
public void sum(int… n){}
public int max(int… n){}
public int search(int n,int… i)
public void sum(Object… obj)
五、本期小结
到这里我们就结束了本期关于方法的学习,本期知识点介绍较为精简,如需深入了解可自行进行相关搜索查找,题目中的案例可以尝试一同编写,加深对其理解程度。最后,老汉在这里与各位共勉,一定要坚持住昂!