方法+重载(Overload)

方法

作用:可以达到抽取的效果,使代码更加清晰
格式:

public static void 方法名称{
	方法体
}

方法名称的命名规则和变量一样,使用小驼峰

利用方法改进下面的代码

public class A{
	public static void main(String[] args)
	{
	//农民伯伯
	System.out.println("播种");
	System.out.println("浇水");
	System.out.println("施肥");
	System.out.println("除虫");
	System.out.println("收割");
	System.out.println("卖给小商贩");
	//小商贩
	System.out.println("运输到农贸市场");
	System.out.println("抬高价格");
	System.out.println("吆喝");
	System.out.println("卖给厨子");
	//厨子
	System.out.println("洗菜");
	System.out.println("切菜");
	System.out.println("炒菜");
	System.out.println("装盘");
	//我
	System.out.println("吃");
}
}

改进以后

  • 方法的定义不能嵌套
    例如me的方法不能放进farmer里面

  • 调用方法
    方法名称();

public static void me()
	{
	//我
	System.out.println("吃");
	}
public class A{
	public static void farmer(){
		//农民伯伯
	System.out.println("播种");
	System.out.println("浇水");
	System.out.println("施肥");
	System.out.println("除虫");
	System.out.println("收割");
	System.out.println("卖给小商贩");
	}
	public static void seller()
	{
	//小商贩
	System.out.println("运输到农贸市场");
	System.out.println("抬高价格");
	System.out.println("吆喝");
	System.out.println("卖给厨子");
	}

	public static void cook()
	{
	//厨子
	System.out.println("洗菜");
	System.out.println("切菜");
	System.out.println("炒菜");
	System.out.println("装盘");
	}

	public static void me()
	{
	//我
	System.out.println("吃");
	}
	public static void main(String[] args)
	{
	//注意调用方法的先后顺序就好
	//调用农民的方法
	farmer();
	//调用商贩的方法
	seller();
	//调用cook的方法
	cook();
	//调用我自己的方法
	me();
}
}

重载

根据实际的情况,对原来的方法进行重载。即方法的名称一样,但是参数列表不一样,即名称统一

注意

  • 参数个数不同
  • 参数类型不同
  • 与返回值类型无关

相加

public class a{
	public staic int sumTwo(int a,int b)
	{
	return a+b;
	}
	public staic int sumThree(int a,int b,int c)
	{
	return a+b+c;
	}
	public staic int sumFour(int a,int b,int c,int d)
	{
	return a+b+c+d;
	}
	public static void main(String[] args)
	{
	System.out.println(sumTwo(10,20));
	System.out.println(sumThree(10,20,30));
	System.out.println(sumFour(10,20,30,40));
	}
	
}

利用方法重载改进

public class a{
	//两个参数
	public staic int sum(int a,int b)
	{
	return a+b;
	}
	##报错,与返回值类型无关,同参数类型,同方法名称,和上面的重复了
	public staic double sum(int a,int b)
	{
	return a+b+0.0;
	}
	//两个参数 参数类型不同
	public staic int sum(double a,double b)
	{
	//强制类型转换   
	return (int)(a+b);
	}
	//三个参数
	public staic int sum(int a,int b,int c)
	{
	return a+b+c;
	}
	//四个参数
	public staic int sum(int a,int b,int c,int d)
	{
	return a+b+c+d;
	}
	public static void main(String[] args)
	{
	System.out.println(sum(10,20));
	System.out.println(sum(10,20,30));
	System.out.println(sum(10,20,30,40));
	System.out.println(sum(10,20,30,4050));//报错
	}
	
}

复习
利用*打印矩形

public class a{

	public static void main(String[] args)
	{
	for(int i=0;i<5;i++)
	{
		for(int j=0;j<20;j++)
		{
		System.out.print("*");
		}
		System.out.println();
	}
	}
	
}

利用方法改进

public class a{
	public static void printMethod()
	{
		for(int i=0;i<5;i++)
	{
		for(int j=0;j<20;j++)
		{
		System.out.print("*");
		}
		System.out.println();
	}
	}
	public static void main(String[] args)
	{
	printMethod();
	}
	
}

方法就是若干语句的功能集合

方法可以看做是一个工厂
如蒙牛工厂 原料:奶牛、材料、水
产出物:奶制品
钢铁工厂 原料:铁矿石,煤炭
产出物:钢铁建材

可以把,方法里的参数看成是原料,返回值看成是产出物,其中中间的内容就是进行工厂加工
方法的完整定义
修饰符 返回值类型 方法名称(参数类型 参数名称,…)
{
方法体
return 返回值;
}

修饰符:现阶段 public static
返回值类型:int double…
方法名称:小驼峰
参数类型:进入方法的数据是什么类型
return:将后面的返回值还给调用处

注意
return后面的返回值,必须和方法名称前面的返回值类型,保持对应

方法的三种调用格式

  1. 单独调用
  2. 打印调用
  3. 赋值调用
public class a{
	public static void sum(int a,int b)
	{
		int result=a+b;
		return result;
	}
	public static void main(String[] args)
	{
	//单独调用
	sum(10,20);
	//打印调用
	System.out.println(sum(10,20));
	//赋值调用
	int c=sum(10,20);
	}
}

//例1
//定义一个方法判断两个数字是否相同

public class a{
	public static void compare(int a,int b)
	{
	if(a==b)
	{
	System.out.println("相同");
}
	else
{
System.out.println("不同");
}
	}
	public static void main(String[] args)
	{
	int a=21;
	int b=22;
	compare(a;b);
	}
}

优化代码

public class a{
	public static boolean compare(int a,int b)
	{
	//a==b就是boolean类型
	return a==b;
	}
	public static void main(String[] args)
	{
	System.out.println(compare(10,20));
	System.out.println(compare(20,20));
	}
}

//输出值
false
true

//无需参数的方法
//例2,求和,求1到100间数字的和

public class a{
	public static void sum()
	{
	int total=0;
		for(int i=1;i<=100;i++)
		{
	total=total+i;
	}
	return total;	
	}
	public static void main(String[] args)
	{
	int c=sum();
	}
}

//例3,指定打印次数的HelloWorld

public class a{
	public static void print(int ci)
	{
		for(int i=1;i<=ci;i++)
		{
	System.out.println("HelloWorld");
	}	
	}
	public static void main(String[] args)
	{
	c=print(5);
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值