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;
    }
}
目录
相关文章
|
8天前
|
算法 Java 大数据
Java从入门到精通学习报告
Java从入门到精通学习报告
16 1
|
8天前
|
消息中间件 监控 安全
【JAVAEE学习】探究Java中多线程的使用和重点及考点
【JAVAEE学习】探究Java中多线程的使用和重点及考点
|
9天前
|
Java
【专栏】如何在 Java 8 中使用 Streams?结合多种案例剖析学习!
【4月更文挑战第28天】Java 8 的 Streams 提供了一种处理数据集合的新方式,增强了代码的可读性和可维护性。本文介绍了 Streams 的基本概念,如从数据源创建 Stream,以及中间和终端操作。通过过滤、映射、归并、排序、分组等案例,展示了 Streams 的使用,包括并行 Streams 提高效率。学习 Streams 可以提升代码质量和效率,文章鼓励读者在实际开发中探索更多 Streams 功能。
|
9天前
|
存储 监控 Java
Java 零基础入门学习(小白也能看懂!)四
Java 零基础入门学习(小白也能看懂!)四
|
9天前
|
存储 安全 Java
Java 零基础入门学习(小白也能看懂!)三
Java 零基础入门学习(小白也能看懂!)三
|
9天前
|
存储 机器学习/深度学习 Java
Java 零基础入门学习(小白也能看懂!)二
Java 零基础入门学习(小白也能看懂!)二
|
9天前
|
Java 编译器 程序员
Java 零基础入门学习(小白也能看懂!)一
Java 零基础入门学习(小白也能看懂!)一
|
9天前
|
Java
Java学习——类与对象(二)
Java学习——类与对象(二)
|
9天前
|
Java C++
Java学习——类与对象(一)
Java学习——类与对象(一)
|
13天前
|
负载均衡 Java 数据库连接
Java从入门到精通:4.2.2学习新技术与框架——不断扩展自己的知识面,跟上技术的发展趋势
Java从入门到精通:4.2.2学习新技术与框架——不断扩展自己的知识面,跟上技术的发展趋势