Java短期班day04

一、数组

 数组中究竟可以存储哪些类型的数据呢?数组可以存储一切类型的数据
 a.基本类型数据
 b.引用类型数据

 数组的定义:
格式1:数据类型[ ] 数组名;
格式2:数据类型 数组名[ ];

注意: 我们推荐大家使用第一种数组定义的格式,因为它的可读性更好
数组的初始化
    1. Java中的数组必须先初始化,然后才能使用。
    2. 所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋初值

数组的初始化:
1.动态初始化
    初始化时程序猿只指定数组长度,由系统为数组分配初始值。 int[] 数组长度 * 数据元素数据类型
2.静态初始化
    初始化时指定每个数组元素的初始值,由系统决定数组长度。

a.数组的动态初始化
格式: 数据类型[] 数组名 = new 数据类型[数组长度];
  数组长度其实就是数组中元素的个数。
  int[]  arr = new int[3];
b.数组的静态初始化:
       初始化时指定每个数组元素的初始值,由系统决定数组长度。

格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…};
            int[] arr = new int[]{1,2,3};

简化写法:
    int[] arr = {1,2,3};

注意:
    简化写法只在数组引用变量定义时有效!

二、方法

package com.cskaoyan.method;

/*
            学习了方法的定义之后,如何使用方法,完成特定的功能(让方法运行)呢?
            此时,我们就需要学习,方法调用了。

            方法定义有两种:  有返回值的方法  没有返回值的方法

            方法调用:
            1. 有返回值的方法调用
                a. 接收调用
                b. 输出调用
                c. 直接调用
            2. 没有返回值的方法调用
                a. 直接调用

            方法调用注意事项:
                1.方法不调用不执行
                2.方法与方法是平级关系,不能嵌套定义
                3.方法定义的时候参数之间用逗号隔开
                4.方法调用的时候不用在传递数据类型  不用 add(int a, int b)
                5.如果方法有明确的返回值,一定要有return带回一个值



 */
public class Demo1Call {

    public static void main(String[] args) {

        // 有返回值的方法调用

        // 1. 接收调用
        int a = 1;
        int b = 2;
        // 接收调用(通常会使用接收调用)
        int result = add(a, b);
//        System.out.println(result);

        // 2. 输出
//        System.out.println(add(a, b));

        //3. 直接调用(没有任何意义)
        //add(a, b);

        // 没有返回值的方法调用

        // 直接调用
        int c = 10;
        print(c);

    }

    // 两数(int)求和
    public static int add(int a, int b) {

        //如果方法有明确的返回值,一定要有return带回一个值
//        if (a > 0) {
//            int result = a + b;
//            return result;
//        }

        int result = a + b;
        return result;
    }

    // 输出方法
    public static void print(int a) {
        System.out.println(a);
    }


}

方法重载

package com.cskaoyan.method;

/*
       方法重载的:是方便调用方法
       除了两数求和之外,我们还需要三数求和,四数求和...., 对于使用者而言,使用我们定义的方法
       必须知道,每个方法具体的功能(记住),才知道要调用的是哪个方法,以及调用,对于使用者来说是不友好的

       如何让使用者方便使用呢? 所有的求和方法,定义成相同的名字, 给每个方法对应的参数即可

      方法重载(overload)
          在同一个类中,允许存在一个以上的同名方法,只要它们的 (参数个数\参数类型不同\参数顺序不同)
          a. 参数个数
          b. 参数类型
          c. 参数顺序(不是指变量名的顺序,而是值参数类型的顺序)

      为什么方法重载要满足以上条件? 因为java语言需要区分出这些同名方法
      java语言通过什么来区分不同的方法呢? 方法签名 = 方法名 + 方法参数列表
      比如 public static int add(int a, int b)的方法签名  add(int,int)


      java语言区分同名方法为啥没有考虑方法返回值呢?
        因为如果我们使用直接调用,对于有返回值的方法就无法区分了(前提是,只考虑方法返回值的不同)

 */
public class Demo3Overload {

    public static void main(String[] args) {

        // 重载方法的调用

        // 方法1 两整数求和
        int a = 10;
        int b = 20;
//        int r = add(a, b);
//        System.out.println(r);

        // 方法2 三整数求和
        int add = add(10, 20, 30);
        System.out.println(add);

        // 考虑方法返回值
        // 一种有返回值的调用方式
        //double d = first(10, 20);

        //first(10,0);

    }

    // 方法1和方法2方法参数个数不同
    // 方法1
    public static int add(int a, int b) {
        System.out.println("add(int a, int b)");
        int result = a + b;
        return result;
    }

//    public static int add (int b, int a) {
//        int result = a + b;
//        return result;
//    }

    // 方法2
    public static int add(int a, int b, int c) {
        System.out.println("add(int a, int b, int c)");
        return add(a, b) + c;
    }

    // 方法2和方法3,参数类型不同
    // 方法3
    public static double add(double a, double b, double c) {
        return a + b + c;
    }

    // 参数顺序不同
    public static double add (int a, double b) {
        return a + b;
    }

    public static double add (double a, int b) {
        return a + b;
    }

    // 为啥没有考虑方法返回值
//    public static int first(int a, int b) {
//        return a + b;
//    }
//
//    public static double first(int a, int b) {
//        return a + b;
//    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值