JAVA学习day05

简介: 1、方法就是用来完成解决某件事件或者实现某个功能的办法。2、方法的定义格式: 修饰符 返回值类型 方法的名字 (参数列表....){ 方法的功能主体 循环,判断,变量,比较,运算 return ; } 修饰符:固定写法 public...

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、库存练习image
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;
    }
}
目录
相关文章
|
17天前
|
消息中间件 前端开发 Java
java学习路径
【4月更文挑战第9天】java学习路径
17 1
|
1月前
|
安全 Java 程序员
学习Java类加载机制
在Java的世界里,每一个类或者接口,在经历编译器后,都会生成一个个.class文件。
18 0
|
17天前
|
设计模式 前端开发 安全
Java是一种广泛使用的编程语言,其学习路径可以大致分为以下几个阶段
【4月更文挑战第9天】Java是一种广泛使用的编程语言,其学习路径可以大致分为以下几个阶段
15 1
|
1月前
|
Java 索引
Java中String方法学习总结_kaic
Java中String方法学习总结_kaic
|
2天前
|
Java Nacos 开发者
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
|
2天前
|
Dubbo Java 应用服务中间件
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
|
2天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
ava从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
|
2天前
|
设计模式 存储 前端开发
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
|
2天前
|
Java API
Java从入门到精通:2.1.5深入学习Java核心技术之文件操作
Java从入门到精通:2.1.5深入学习Java核心技术之文件操作
|
2天前
|
并行计算 算法 安全
Java从入门到精通:2.1.3深入学习Java核心技术——掌握Java多线程编程
Java从入门到精通:2.1.3深入学习Java核心技术——掌握Java多线程编程