方法组成:
修饰符 返回值类型 方法名 参数 (形参,实参)
例:
public static void main ( String[] args ) {}
修饰符 返回值类型 方法名 参数
(无返回值)
一个类中有多个方法(有且只有一个mian方法)
一个编译单元有多个类(只能有一个public类)
1.无参无返回值的方法(静态不能调用非静态方法)
package com.cdz;
/*
* 无参无返回值的方法;
* 返回100以内最大的能被8整除的整数
*/
public class noChanNoReturn {
public static void main(String[] args) {
fangFa();
}
public static void fangFa() {
int i ;
for (i= 1; i < 100; i++) {
if (i % 8 == 0) {
break;
}
}
System.out.println(i);
}
}
2.无参有返回值方法
package com.cdz;
/*
* 无参有返回值
* 二维数组10*10
*/
public class noChanYouReturn {
public static int[][] fun() {
int[][] arr=new int[10][10];
for(int i=0;i<arr.length;i++){//有多少行
for(int j=0;j<arr[i].length;j++){//一行有多少例
arr[i][j]=(i+1)*(j+1);//数组下标0开始
//System.out.print(arr[i][j]+"\t");
}
//System.out.println();
}
return arr;
}
public static void main(String[] args) {
int[][] fun = fun();//调用fun方法
for(int[] e:fun){//增强for循环, 行数
for(int d:e){//列数
System.out.print(d+"\t");
}
System.out.println();
}
}
}
(void和return是一对生死冤家,不能同时出现在一个方法中)
3.有参无返回值方法
package com.cdz;
import java.util.Scanner;
public class Test5Yuan {
/*
* 有参数无返回值
* 2、 定义一个方法,用来计算圆的面积和周长,在主方法中接收圆的半径,在自定义方法中计算并输出
*/
public static void zouChang(int r) {
System.out.println("周长为:"+(2*3.14*r));
}
public static void mianJi(int r) {
System.out.println("面积为:"+(3.14*r*r));
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("半径");
int r=sc.nextInt();
mianJi(r);
zouChang(r);
}
}
4.有参有返回值方法
package com.cdz;
/*
* 有参有返回值的方法;
* 求出两个较大的数
*/
public class max {
public static void main(String[] args) {
int a=10;
int b=20;
int fun = fun(a,b);//调用方法
System.out.println(fun);
}
public static int fun(int aa,int bb) {
int max=0;//最大值初始化
if(aa>bb){//判断最大的哪个值
max=aa;
}else{
max=bb;
}
return max;//返回最大的哪个值
}
}
(方法的作用:调用该方法能求出任意,体现方法的复用性,通用性)
可变参数方法
语法:
方法名(类型...类型名)
且调用方法时的语法:
方法名(数值1,数值2,......)
package com.cdz;
import java.util.Scanner;
/*
*可变参数
*n个数,求出最大得数
*/
public class KeBianChan {
public static void main(String[] args) {
int i = fun(1,2,1,4,5,3,6);//与下面fun(int... arr)一致
System.out.println(i);
}
public static int fun(int... arr) {//可变参数
int max=0;
for(int d:arr){//相当于,for(int i=0;i<arr.length;i++)
if(d>max)max=d;//比较大的
}
return max;//返回娄型int
}
}