方法
注意事项
1.方法不调用就不执行。
2.方法与方法之间是平级关系,不能互相嵌套。
3.方法的编写顺序和执行顺序无关。(要看调用顺序)
4.方法的返回值类型为void,表示该方法没有返回值,没有返回值的方法可以省略return语句不写。
5.return语句下面,不能编写代码,因为永远执行不到,属于无效代码。
是程序当中最小的执行单元。
格式
1.简单方法格式和调用
方法格式
public static void 方法名(){
方法体;
}
范例
public static void playGame(){
七个打印语句;
}
调用格式
方法名();
范例:
playGame();
public class Method{
public class void main(String[] args){
//目标:掌握最简单的方法定义和调用的格式
//调用方法
playGame();
}
//定义一个方法
public static void playGame(){
System.out.println("选人物");
System.out.println("准备开局");
System.out.println("对线");
System.out.println("崩盘");
System.out.println("骂队友");
System.out.println("送人头");
}
相关练习
1.看代码说结果
public class Test{
public static void main(String[] args){
System.out.println("a");
method();
System.out.println("b");
}
public static void method(){
System.out.println("c");
System.out.println("d");
}
}
解析:看到方法进入方法;执行完毕回到调用处。
先输出字母a,看到method方法后进入方法输出字母c和d,执行完毕后回到调用处向下执行并输出字母b。
2.带参数的方法格式和调用
方法格式
单个参数
public static void 方法名(参数){
…
}
范例
public static void method(int number){
…
}
多个参数
注意:参数之间要用逗号隔开
public static void 方法名(参数1,参数2,…){
…
}
范例
public static void 方法名(int number1,int number2,…){
…
}
调用格式
单个参数
方法名(参数);
范例
method(10);
或
method(变量);
多个参数
注意:方法调用时,参数的数量和类型必须与方法定义中小括号里面的变量一一对应,否则程序将报错。
方法名(参数1,参数2,…);
范例
getSum(10,20);
或
getSum(变量1,变量2);
public class Method{
public static void main(String[] args){
//目标:掌握带参数方法定义的格式和调用的格式
getSum(10,20);
}
public static void getSum(int num1,int num2){
int result=num1+num2;
System.out.println(result);
}
}
相关练习
1.人肉计算机1
需求:定义一个方法,求长方形的周长,将结果在方法中进行打印。
public class Test{
public static void main(String[] args){
//目标:根据不同需求,选择定义无参的方法,还是带参数的方法。
getLength(len:5.2,width:1.3);
}
//1.我要干嘛?求周长
//2.我做这件事情,需要什么才能完成?长和宽
public ctatic void getLength(double len,double width){
double result=(len+width)*2;
System.out.println(result);
}
}
2.人肉计算机2
需求:定义一个方法,求圆的面积,将结果在方法中进行打印。
public class Test{
public static void main(String[] args){
//目标:根据不同需求,选择定义无参的方法,还是带参数的方法。
}
//1.我要干嘛?求圆的面积
//2.我做这种事情,需要什么才能完成?半径的平方
public static void getArea(double radius){
double result=radius*radius**3.14;
System.out.println(result);
}
}
3.带返回值的方法格式和调用
在调用处要根据方法的结果,去编写另外一段代码。
方法格式
public static 返回值类型 方法名(参数){
方法体;
return 返回值;
}
范例
public static int getSum(int a,int b){
int c=a+b;
return c;
}
调用格式
直接调用:一般用在没有返回值的方法当中。
方法名(实参);
赋值调用:一般用在带有返回值的方法。
整数类型 变量名=方法名(实参);
输出调用
System.out.println(方法名(实参));
案例
定义一个方法,求一家商城每个季度的营业额。
根据方法结果再计算出全年营业额。
public class Method{
public static void main(String[] args){
//目标:掌握带返回值方法的定义和调用格式
//赋值调用
int sum1=getSum(10,20,30);
System.out.println(sum2);
//先计算第一个季度的营业额
int sum2=getSum(10,20,30);
int sum3=getSum(20,30,40);
int sum4=getSum(30,40,50);
int sum=sum1+sum2+sum3+sum4;
System.out.println(sum);
}
public static int getSum(int num1,int num2,int num3){
int result=num1+num2+num3;
return result;
}
}
练习
需求:定义方法,比较两个长方形的面积。
public class Test{
public static void main(String[] args){
//目标:要能区分什么时候使用带返回值的方法
//调用方法获取长方形的面积再进行比较
double area1=getArea(len:5.3,width:1.7);
double area2=getArea(len:2.4,width:2.7);
if(area1>area2){
System.out.println("第一个长方形的面积更大");
}else{
System.out.println("第二个长方形的面积更大");
}
}
//1.要干嘛?求长方形的面积
//2.需要什么?长和宽
//3.方法的调用出,是否需要继续使用方法的结果。
public static double getArea(double len,double width){
double area=len*width;
return area;
}
}
方法的重载
在同一个类当中,方法名相同,参数不同(个数不同,类型不同,顺序不同三中一个不同即可)的方法,与返回值无关。
练习
需求:使用方法重载的思想,设计比较两个整数是否相同的方法。
兼容全整数类型(byte,short,int,long)
public class Test{
public static void main(String[] args){
//调用
compare(10,20);
}
//会把相同功能的方法名起成一样的名字
public static void compare(byteb1,byte b2){
System.out.println(b1==b2);
}
public static void compare(short s1,short s2){
System.out.println(s1==s2);
}
public static void compare(int i1,int i2){
System.out.println(i1==i2);
}
public static void compare(long n1,long n2){
System.out.println(n1==n2);
}