1、方法就是用来完成解决某件事件或者实现某个功能的办法。
2、方法的定义格式:
修饰符 返回值类型 方法的名字 (参数列表....){
方法的功能主体
循环,判断,变量,比较,运算
return ;
}
修饰符:固定写法 public static
返回值类型: 方法在运算后,结果的数据类型
方法名: 自定义名字,满足标识符规范,方法名字首字母为小写,后面每个单词首字母大写
参数列表: 方法的运算过程中,是否有未知的数据,如果有未知的数据,定义在参数列表上(定义变量)
return: 方法的返回,将计算的结果返回,结束方法
3、调用方法:让一个方法运行起来
4、调用方法执行流程
方法参数里面的都是形参
实际调用时的参数是实参
5、方法调用的内存图
栈:先进后出 后进先出
6、方法定义和使用的注意事项
1、方法不能定义在另一个方法的里面;
2、写错方法名字;
3、写错了参数列表;
4、方法返回值是void,方法中可以省略return不写;
Return 后面不能有代码;
5、方法返回值类型,和return 后面数据类型必须匹配;
6、方法重复定义问题;
7、调用方法的时候,返回值是void,不能写在输出语句中;
7、方法的重载
方法的重载特性(overload)
在同一个类中,允许出现同名的方法,只要方法的参数列表不同即可,这样方法就是重载
参数列表不同:参数的个数,数据类型,顺序
对于重载的调用,根据参数传递进行区分
8、方法重载的注意事项
1、参数列表必须不同
2、重载和参数变量名无关
3、重载和返回值类型无关
4、重载和修饰符无关
技巧:重载看方法名和参数列表
9、方法参数是基本数据类型
方法,调用中的参数传递问题
1、方法参数是基本数据类型
2、方法参数是引用类型:传递的是内存地址
10、库存练习
package com.ghy.study;
/*
实现商品的库存管理
功能:
1. 展示用户选择功能清单
2. 根据选择的功能编号,进行不同的操作
A. 展示所有库存
B. 修改库存数量
分析:
1. 展示用户清单:
输出语句, 用户输入, 选择功能序号
2. 根据选择,调用不同的方法
switch语句
case 1 2 3
A 展示库存
将存储商品的数组,遍历
B 修改库存
修改所有的库存数量
*/
import java.util.Scanner;
public class ShopMethod {
public static void main(String[] args){
//使用数组,保存商品的信息
//品名,尺寸,价格,库存数, 定义5个数组
String[] brand = {"MacBookAir","ThinkpadT450"};
double[] size = {13.3,15.6};
double[] price = {9998.97,6789.56};
int[] count = {0,0};
while(true){
int choose = chooseFunction();
switch(choose){
case 1:
//调用查看库存清单方法
printStore(brand,size,price,count);
break;
case 2:
//调用修改库存的方法
update(brand,count);
break;
case 3:
return ;
default:
System.out.println("没有这个功能");
break;
}
}
}
/*
定义方法,修改所有商品的库存
用户输入1个,修改1个
返回值,没有
参数, 库存数的数组, 品名数组
*/
public static void update(String[] brand, int[] count){
//遍历数组,遍历到一个,修改一个
//接受键盘输入
Scanner sc = new Scanner(System.in);
//遍历数组
for(int i = 0; i < brand.length ; i++){
System.out.println("请输入"+brand[i]+"的库存数");
//键盘输入,录入库存, 存储到库存的数组中
int newCount = sc.nextInt();
count[i] = newCount;
}
//int chooseNumber = sc.nextInt();
}
/*
定义方法,展示所有的库存清单,遍历
返回值,没有
参数, 数组
*/
public static void printStore(String[] brand,double[] size,double[] price,int[] count){
System.out.println("----------商场库存清单----------");
System.out.println("品牌型号 尺寸 价格 库存数");
//定义变量,计算总库存数,和总价格
int totalCount = 0;
int totalMoney = 0;
//遍历数组,将数组中所有的商品信息打印出来
for(int i = 0 ; i < brand.length ; i++){
System.out.println(brand[i]+" "+size[i]+" "+price[i]+" "+count[i]);
totalCount += count[i];
totalMoney += count[i]*price[i];
}
System.out.println("总库存数: "+totalCount);
System.out.println("商品库存总金额: "+totalMoney);
}
/*
定义方法,实现用户的选择功能,功能的需要返回来
返回值, int
参数, 没有
*/
public static int chooseFunction(){
System.out.println("-------------库存管理------------");
System.out.println("1.查看库存清单");
System.out.println("2.修改商品库存数量");
System.out.println("3.退出");
System.out.println("请输入要执行的操作序号:");
//接受键盘输入
Scanner sc = new Scanner(System.in);
int chooseNumber = sc.nextInt();
return chooseNumber;
}
}