方法的重载、数组的定义、数组的初始化、访问数组元素、遍历数组、数组索引越界异常、空指针异

方法的重载

在同一个类中,方法名相同, 参数列表不同 与修饰符返回值类型无关 称为方法的重载
参数列表不同 : 个数不同, 顺序不同,数据类型不同
好处: 解决了起名字和记名字的问题

    // 求两个整数的和
    public static int getSum(int num1, int num2) {
        return num1 + num2;
    }

    // 求三个整数的和
    public static int getSum(int num1, int num2, int num3) {
        return num1 + num2 + num3;
    }

    // 求两个小数的和
    public static double getSum(double num1, double num2) {
        return num1 + num2;
    }
   /* public static double getSum(double num2, double num1) {
        return num1 + num2;
    }*/
    public static double getSum(int num1, double num2) {
        return num1 + num2;
    }
    public static double getSum(double num1, int num2) {
        return num1 + num2;
    }

数组的定义

格式1 : 数据类型[] 数组名; (常用)
格式2 : 数据类型 数组名[]; (不常用)

        // 整数
        byte[] b1;
        short[] s1;
        int[] i1;
        long[] l1;
        // 小数
        float[] f1;
        double[] d1;
        // 布尔
        boolean[] boo1;
        // 字符
        char[] ch1;
        // 引用数据类型 字符串
        String[] str1;

数组的初始化


        //java中的 数组必须先赋值 才能被使用
        //动态初始化:  只指定数组的长度,不指定数组具体的元素值
        //格式: 数据类型[] 数组名 = new 数据类型[数组的长度];
int[] arr = new int[5];

        // 静态初始化: 当我们定义数组的时候,直接指定数组中存储具体元素值
        // 格式: 数据类型[] 数组名 = new 数据类型[]{元素1,元素2,...元素n};
        // 静态初始化后面的[] 中不能书写数组的长度
        // 静态初始化简写形式: 数据类型[] 数名 = {元素1,元素2,...元素n}; (常用)
int[] arr2 = new int[]{1, 5, 7, 8, 9, 10};

double[] d2 = {3.14, 2.33, 5.68};
 

访问数组元素

public class Demo04_访问数组元素 {
    public static void main(String[] args) {
        // 静态初始化一个数组
        int[] arr = {3,6,9,11,15,88};
        // 索引 index : 数组的索引 从左开始也就是 从数字0开始,也是到数组的长度-1
        // 通过一个属性 .length进行获取数组的长度 数组名.length

        // 通过索引 访问数组中的元素
        // 1, 赋值 数组名[索引] = 新值;
        arr[0] = 1;

        // 2, 取值  数组名[索引];
        System.out.println(arr[3]); // 11
        System.out.println(arr[0]); // 1


        // 如果我们动态初始化一个数组,不赋值 ,可以取值吗?
        int[] arr1 = new int[5];
        // 不赋值 直接取值
        System.out.println(arr1[0]); // 0
        /*
        *  我们的数组 如果通过动态初始化进行定义,那么我们的jvm会自动给我们的数组赋默认值
        *       整数 : 0
        *       小数: 0.0
        *       布尔: false
        *       字符: ' ' '\u0000'
        *       引用数据类型(String): null
        * */
        float[] f1 = new float[5];
        System.out.println(f1[0]); // 0.0

        boolean[] boo1 = new boolean[5];
        System.out.println(boo1[0]); // false

        char[] ch1 = new char[5];
        System.out.println(ch1[0]); //  '\u0000'

        String[] str = new String[5];
        System.out.println(str[0]); // null
    }
}

遍历数组

public class Demo05_遍历数组 {
    public static void main(String[] args) {
        // 遍历数组: 将数组中的每一个元素获取到
        // 静态初始化一个数组:
        String[] names = {"杨浩宇","李威峰","牛镒蒴","郭原硕","那仁满都呼"};

        for (int index = 0; index < names.length ; index++) {
            // 数组名[索引] 取值
            System.out.println(names[index]);
        }
    }
}
 

数组索引越界异常

当我们在访问数组元素的时候, 访问了不存在的索引

         // ArrayIndexOutOfBoundsException
         // 数组    索引  超出  边界  异常
        // 发现了问题 要避免
        // 以后我们再操作数组的时候,一定要判断一下 当前要操作的数组的索引是否在允许范围以内
        //  数组的长度 -1 >= 索引 >= 0

空指针异常

        //NullPointerException 空指针异常
        // 我们通过数组名[索引] 访问数组中的元素的时候,将数组名等于了null
        // 意味着 我们的地址 变成了 空

        // 避免空指针异常
        // 每次操作数组元素的时候,判断当前数组地址是否为null,如果为null,不让其操作数组
        // 不为空,操作数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曲靖花式通幽处

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值