文章目录
一、方法概念
什么是方法
1.什么是方法?
- 方法是程序中最小的执行单元
2.实际开发中,什么时候用到方法?
- 重复的代码、具有独立功能的代码可以抽取到方法中
3.实际开发中,方法有什么好处?
- 可以提高代码的复用性
- 可以提高代码的可维护性
二、最简单的方法定义和调用
方法的格式
- 方法定义:把一些代码打包在一起,该过程称为方法定义
- 方法调用:方法定义后并表示直接运行的,需要手动调用才能执行,该过程称为方法调用
方法定义
格式:
public static void 方法名(){
方法体(就是打包起来的代码);
}
例:
public static void playGame(){
打印语句;
}
方法调用
格式:
方法名();
例:
playGame();
方法必须先定义再调用!!!
定义方法
public static void playGame(){
System.out.println("选人物");
System.out.println("准备开局");
System.out.println("对线");
System.out.println("崩盘");
System.out.println("骂队友");
System.out.println("送人头");
System.out.println("GG");
}
调用方法
playGame();
总代码块:(定义的方法要写在main函数外,类的里面)
public class method {
public static 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("送人头");
System.out.println("GG");
}
}
练习
在方法里面定义两个变量并求和打印
public class method {
public static void main(String[] args) {
getSum();
}
public static void getSum(){
int num1 = 10;
int num2 = 20;
int result = num1 + num2;
System.out.println(result);
}
}
三、带参数的方法定义和调用
方法定义和调用
单个参数
格式:
public static void 方法名(参数){… …}
例:
public static void method(int number){… … }
多个参数
格式:
public static void 方法名(参数1,参数2,…){… …}
例:
public static void method(int number1, int number2,…){… … }
方法调用时,参数的数量与类型必须与方法定义中小括号里面的变量一一对应!!!
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);
}
}
形参和实参
- 形参:形式参数,指方法定义中的参数
- 实参:实际参数,方法调用中的参数
练习
需求:定义一个方法,求长方形的周长,将结果在方法中进行打印
public class method {
public static void main(String[] args) {
getLength(5.2, 1.3);
}
public static void getLength(double len,double width){
double result = (len + width) * 2;
System.out.println(result);
}
}
需求:定义一个方法,求圆的面积,将结果在方法中进行打印
public class method {
public static void main(String[] args) {
getArea(1.5);
}
public static void getArea(double radius){
double result = radius * radius * 3.14;
System.out.println(result);
}
}
四、带返回值方法的定义和调用
方法的定义
什么时候要用到有返回值的方法?
在调用处要根据方法的结果,去编写另外一段代码
方法的返回值其实就是方法运行的最终结果
- 如果在调用处要根据方法的结果,去编写另外一段代码逻辑
- 为了在调用处拿到方法产生的结果,就需要定义带有返回值的方法
格式:
public static 返回值类型 方法名(参数){
方法体;
return 返回值;}
例:
public static int getSum(int a, int b){
int c = a + b;
return c;
}
方法的调用
- 直接调用:方法名(实参);
- 赋值调用:整数类型 变量名 = 方法名(实参);
- 输出调用:System.out.println(方法名(实参));
练习1
需求:定义一个方法,求一家商场每个季度的营业额
根据方法结果再计算出全年营业额
直接调用
getSum(10, 20, 30);
赋值调用
int sum = getSum(10, 20, 30);
System.out.println(sum);
输出调用
System.out.println(getSum(10,20,30));
总代码块
public class method {
public static void main(String[] args) {
int sum1 = getSum(10, 20, 30);
int sum2 = getSum(20, 30, 40);
int sum3 = getSum(10, 20, 30);
int sum4 = getSum(10, 20, 30);
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;//返回给方法的调用处
}
}
练习2
需求:比较两个长方形的面积
定义一个方法,求长方形面积
public static double getArea(double len, double width){
double area = len * width;
return area;
}
调用方法
double area1 = getArea(5.3,1.7);
double area2 = getArea(2.4,2.7);
进行比较
if(area1 > area2){
System.out.println("第一个长方形大");
}else{
System.out.println("第二个长方形大");
}
总代码块:
public class method {
public static void main(String[] args) {
double area1 = getArea(5.3,1.7);
double area2 = getArea(2.4,2.7);
if(area1 > area2){
System.out.println("第一个长方形大");
}else{
System.out.println("第二个长方形大");
}
}
public static double getArea(double len, double width){
double area = len * width;
return area;
}
}
方法的注意事项
- 方法不调用就不执行
- 方法和方法之间是平级关系,不能互相嵌套定义
- 方法的编写顺序和执行顺序无关
- 方法的返回值类型为void,表示该方法没有返回值,没有返回值的方法可以省略return语句不写。如果要编写return,后面不能跟具体的数据。
- return语句下面,不能编写代码,因为永远执行不到,属于无效的代码