方法定义
方法:方法是完成某个功能的一组语句,通常将常用的功能写成一个方法。
作用:1)方便重复使用
2)代码可读性更高
目前可以run的方法main @Test
疑问:我在这个类里写的方法,其他类可以调用吗?
方法分类:
有返回值无参数的方法
//计算1-100之间的数,返回计算返回
public static int sum1to100(){
int count=0;
for(int i=1;i<=100;i++){
count=count+i;
}
return count;
}
有返回值有参数的方法
//做一个通用方法,返回从m到n之间的所有数的和
public static int sum(int m,int n){
int count=0;
for(int i=m;i<=n;i++){
count+=i;
}
return count;
}
调用:
int count=Java16Utils.sum(1, 1000);
无参无返回值
写一个方法,打印hello world
//void 无返回值 无参的
public static void hello(){
System.out.println("hello world");
}
//无返回值但是有参的
public static void hello(String name){
System.out.println("hello "+name);
}
课堂练习:
1)编写一个无参方法,在方法里输出Hello
2)编写一个输入为两个int型参数,输出这两个参数的和
3)编写一个输入为两个int型参数,返回两个参数的和
1、编写一个无参方法,输出欢迎语句,调用该方法。
2、编写一个得到两个int型参数方法,输出两个参数的和;在主函数中产生两个随机整数作为该方法的参数,调用该方法,输出结果。
public class Exec2 {
//编写一个得到两个int型参数方法,输出两个参数的和;
//在主函数中产生两个随机整数作为该方法的参数,
//调用该方法,输出结果。
public static void sum(int m,int n){
System.out.println(m+n);
}
@Test
public void test(){
int m= new Random().nextInt();
int n= new Random().nextInt();
Exec2.sum(m,n);
}
}
3、编写一个得到两个int型参数方法,返回两个参数的和;在主函数中产生两个随机整数作为该方法的参数,调用该方法,在主函数中输出计算结果。
public static void main(String[] arge){
int x=new Random().nextInt();
int y=new Random().nextInt();
int z=Exec3.YIGE(x,y);
}
public static int YIGE(int x,int y){
int sum=x+y;
System.out.println(sum);
return sum;
}
方法的重载
一个类里允许存在两个及以上同名的方法
但是有规则:
1)方法名称相同
2)方法参数必须不同
可以是参数个数不同
可以是参数类型不同
3)返回值类型可以相同也可以不同
public static int add(int a,int b){
return a+b;
}
public static int add(char a,int b){
return a+b;
}
public static int add(int a,int b,int c){
return a+b;
}
/*以下错误:
public static void add(int a,int b,int c){
System.out.println(a+b+c);
}*/
基本数据类型和引用类型比较
引用类型做为参数传给其他方法后,本身会变化。
基本类型做为参数传递给其他方法后,他本身没有变化;
作业:
第5章课后习题