方法
-
什么是方法?
方法是程序中最小的执行单元
定义:把一些代码打包在一起,该过程称为方法 -
实际开发过程中,什么时候用到方法:
重复的代码,具有独立功能的代码可以抽取到方法中 -
实际开发中,方法的好处
提高代码的复用性
提高代码的可维护性 -
方法的调用:
方法定义后并不是直接运行的,需要手动调用才能执行,该过程称为方法调用 -
方法的定义格式:
格式:
public static void 方法名(){
方法体(就是打包起来的代码)
}
注意:方法必须先定义后调用,否则程序会报错
public class Main {
public static void main(String[] args) {
Sout();
}
public static void Sout(){
System.out.println("1");
System.out.println("2");
System.out.println("3");
}
}
- 练习:
人肉计算器:定义一个方法,在方法内部定义两个变量,求出他们的打印的和,并打印。
public static void main(String[] args) {
GetSum();
}
public static void GetSum(){
int num1 = 3;
int num2 = 4;
System.out.println(num2+num1);
}
—————————————————————————————————————
带参数的方法定义和调用
方法调用的时候,参数的数量和类型必须与方法定义中的小括号里面的变量一一对应,否则程序会报错。
public static void main(String[] args) {
GetSum(4,5);//与方法里面的变量一一对应
}
public static void GetSum( int a ,int b){
System.out.println(a+b);
}
形参和实参
形参:全程形式参数,是指方法定义中的参数
实参:全程实际参数,方法调用中的参数
- 方法定义的小技巧:
- 明确我要干什么? (方法体)
- 明确我干这件事需要什么才能完成?(形参)
练习:定义一个方法,求长方形的周长:
public static void main(String[] args) {
GetSum(4.3,4.8);
}
public static void GetSum( double a ,double b){
double c = (a+b)*2;
System.out.println(c);
}
练习:定义一个方法,求圆的面积并打印:
public static void main(String[] args) {
GetS(2.0);
}
public static void GetS( double a ){
double c = a*a*3.14;
System.out.println(c);
}
带返回值的方法的定义和调用
方法的返回值其实就是方法运行的最终结果,,为了在调用处拿到方法产生的结果,就需要定义带有返回值的方法
格式:
public static 返回值类型 方法名(){
方法体;
return 返回值;
}
- 带返回值的方法的调用:
- 直接调用:
方法名(实参); - 赋值调用:
类型 变量名= 方法名(实参); - 输出调用:
System.out.println(方法名(实参));
- 练习:定义一个方法:求一家商场每个季度的营业额
, 根据方法结果计算出全年营业额。
public static void main(String[] args) {
int sum1 = GetS(1,1,1);
int sum2 = GetS(2,2,2);
int sum3 = GetS(3,3,3);
int sum4 = GetS(4,4,4);
System.out.println(sum1+sum2+sum3+sum4);
}
public static int GetS( int a ,int b,int c){
int x = a+b+c;
return x;//返回给方法调用处
}
小结:
-
什么时候需要用到有返回值的方法?
在调用处要根据方法的处理结果,去编写另外一段代码。 -
有返回值方法的定义格式?
public static 返回值类型 方法名(){
方法体;
return 返回值;
} -
有返回值方法的调用格式:
直接调用,赋值调用(常用),输出调用 -
有返回值方法中参数的运行过程?
返回给方法调用处
练习:
定义一个方法,比较两个长方形的面积的大小
public static void main(String[] args) {
int x = GetS(4,2);
int y = GetS(2,4);
if ((x>y)){
System.out.println("第一个长方形面积大");
}else if (x==y){
System.out.println("面积一样大");
}else
System.out.println("第二个长方形面积大");
}
public static int GetS( int a ,int b){
int x = a*b;
return x;
}
方法的注意事项
- 方法不调用就不会执行
- 方法与方法之间是平级关系,不能相互嵌套。
- 方法的编写顺序和执行顺序是无关的
- 方法的返回值类型是void的话,表示扥很啊没有返回值,没有返回值的方法可以胜率return语句不写,如果要编写return,后面不能跟具体的数据;(只写个return,后面不跟其他东西,表示结束方法。)
- return语句下面不能编写代码,因为永远执行不到,属于无效代码。(return表示结束了)
return关键字
- 方法没有返回值,可以省略不写,如果书写,表示结束方法
- 方法有返回值:则必须要写,表示结束方法和返回结果