Java基础学习(五) ----数组进阶

静态创建数组

  • 动态和静态创建后,长度都不可改变
  • 动态给长度自动赋值默认值,静态给数据不给长度
 public static void main(String[] args) {
      // 动态创建数组 自动分配了默认值
      int[] arr01 = new int[10];

      // 静态创建 我们给他赋值 只给数据 不给长度
      int[] arr02 = new int[]{1,2,3};
        System.out.println(arr02[2]);

    }
  • 异常类
    public static void main(String[] args) {
      // 动态创建数组 自动分配了默认值
      int[] arr01 = new int[10];

      // 静态创建 我们给他赋值 只给数据 不给长度
      int[] arr02 = new int[]{1,2,3};
        System.out.println(arr02[2]);

        System.out.println(arr02[3]); // -----------超过下标长度

    }
  • 静态创建也可以简写
int[] arr03 = {1,2,3,4};

空指针异常

在这里插入图片描述

  • 第二种
    在这里插入图片描述

参数

  • 传参数的时候,要严格按照形参的数量和顺序传递
public static void main(String[] args) {
        int a1 = 20;
        int a2 = 30;
        getMax(a1,a2); // 传参数的时候 要严格按照形参的数量和顺序传递

    }
    public static void getMax(int num1,int num2){
        // 判断 如果num1 > num2 就取num1的值 不成立就取num2的值
        System.out.println(num1 > num2 ? num1:num2);
    }

返回值

  • 注意
void 表示没有返回值
如果有返回值 把void改成对应的数据类型
public static void main(String[] args) {
        int a1 = 20;
        int a2 = 30;
        int max = getMax(a1,a2); // 传参数的时候 要严格按照形参的数量和顺序传递
        System.out.println(max);

    }
    // void表示没有返回值
    // 如果有返回值,就把void改成对应的数据类型
    public static int getMax(int num1,int num2){
        // 判断 如果num1 > num2 就取num1的值 不成立就取num2的值
        return num1 > num2 ? num1:num2;
    }

重载

重载:在同一个类中,定义方法名字相同,但是参数不同(类型或者数量不同)的方法

  • 错误演示
    在这里插入图片描述
  • 正确演示
    在这里插入图片描述

参数传递基本 数据类型

  • byte short int long double float boolean
  • 传入的是数值
public static void main(String[] args) {
        int number = 100;
        System.out.println("number"+number); // 100
        change(number);
        System.out.println("number"+number); // 100
    }

    public static void change(int num){
        num = 200;
        System.out.println("num" + num); // 200
    }
  • 以上代码执行方法
首先一开始给number定义了值为100,当程序运行都调用方法的时候,正常逻辑num应该是等于200的,由于java的堆和栈的特性,当最开始给number定义的100值的时候就已经进入到了内存中了,就直接覆盖给了number,即使使用方法传入过来的值也没用;所以number最后的值还是为100

参数传递引用 数据类型

  • 数组 String Random可以创建对象的

  • 传入的是地址

 public static void main(String[] args) {
        int[] number = {1,2,3,4,5};
        for (int i = 0; i <number.length ; i++) {
            System.out.println(number[i] + ","); // 1,2,3,4,5
        }
        System.out.println();

        change(number);

        for (int i = 0; i <number.length ; i++) {
            System.out.println(number[i] + ","); // 1,200,3,4,5
        }
    }
    public static void change(int[] num){
        num[1] = 200;
        for (int i = 0; i <num.length ; i++) {
            System.out.println(num[i] + ","); // 1,200,3,4,5
        }
        System.out.println();
    }

debug

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值