1. 定义(不能嵌套定义):
用来解决一类问题的代码的有序组合,是一个功能模块。
2. 声明:
格式:访问修饰符 返回类型 方法名(参数列表){
方法体
}
3. 方法的调用
格式:对象.方法名(参数类型 参数名)
例如:obj t = new obj();
t.method(int n);
根据是否带参数,是否有返回值,可分为四类:
(1) 无参无返回值
例:定义一个方法实现一行打印出一串星号
publicclass Method1 {
publicvoid star() {
System.out.println("**********************");
}
publicstaticvoidmain(String[] args) {
Method1 m = newMethod1();
m.star();
System.out.println("欢迎来到java的世界!");
m.star();
}
}
(2) 无参带返回值
例:定义一个求长方形的面积的方法
publicclass Method2 {
publicint area() {
intl=10;
intw=5;
intarea1 = l*w;
returnarea1;
}
publicstaticvoidmain(String[] args) {
Method2 a = newMethod2();
System.out.println("长方形的面积为:"+a.area());
}
}
(3) 有参无返回值
例:定义一个求两个float类型数据最大值的方法
publicclass Method3 {
publicvoid max(floatm,floatn) {
if(m>n) {
System.out.println(m+"和"+n+"中最大值为:"+m);
}else {
System.out.println(m+"和"+n+"中最大值为:"+n);
}
}
publicstaticvoidmain(String[] args) {
Method3 a = newMethod3();
a.max(6.5f, 7.8f);
}
}
(4) 有参带返回值
例:定义一个求n!的方法,再求1!+2!+3!+4!+5!
publicclass Method5 {
publicint mul(intn) {
int m=1;
for(inti=1;i<=n;i++) {
m=m*i;
}
returnm;
}
publicstaticvoidmain(String[] args) {
Method5 a = newMethod5();
intsum=0;
for(inti=1;i<=5;i++) {
inttemp=a.mul(i);
sum=sum+temp;
}
System.out.println("1!+2!+3!+4!+5!="+sum);
}
4. 数组作为方法的参数
例:求数组元素的平均值
publicclass Method7 {
publicdouble ave(int[] arr) {
intsum=0;
for(intn:arr) {
sum=sum+n;
}
doubleaverage=(double)sum/arr.length;
returnaverage;
}
publicstaticvoidmain(String[] args) {
Method7 a = newMethod7();
int[] arr1={1,2,3,4,5,6,7,8};
System.out.println("数组的平均值为:"+a.ave(arr1));
}
}
5. 方法的重载
方法名相同,参数列表不同(数据类型、个数、顺序)
例:定义重载方法求元素的和,定义两个重载的方法求圆和长方形的面积
publicclass Method9 {
publicint add(intm,intn) {
returnm+n;
}
publicdouble add(doublem,doublen) {
returnm+n;
}
publicint add(int[] arr) {
intsum=0;
for(intn:arr) {
sum=sum+n;
}
returnsum;
}
publicdouble area(intr) {
doublePI=3.14;
returnPI*r*r;
}
publicint area(intm,intn) {
returnm*n;
}
publicstaticvoidmain(String[] args) {
Method9 a = newMethod9();
System.out.println("元素之和为:"+a.add(4,5));
System.out.println("元素之和为:"+a.add(4.7,5.9));
int[] arr ={1,2,3,4,5};
System.out.println("元素之和为:"+a.add(arr));
System.out.println("圆的面积为:"+a.area(4));
System.out.println("长方形的面积为:"+a.area(4,5));
}
}