zoukankan      html  css  js  c++  java
  • Java的数组索引问题

    /*
    数组操作的两个常见小问题:
    ArrayIndexOutOfBoundsException:数组索引越界异常
    原因:你访问了不存在的索引。

    NullPointerException:空指针异常
    原因:数组已经不在指向堆内存了。而你还用数组名去访问元素。

    作用:请自己把所有的场景Exception结尾的问题总结一下。以后遇到就记录下来。
    现象,原因,解决方案。
    */
    class ArrayDemo6 {
    public static void main(String[] args) {
    //定义数组
    int[] arr = {1,2,3};

    //System.out.println(arr[3]);

    //引用类型的常量:空常量 null
    arr = null;
    System.out.println(arr[0]);
    }
    }
    数组操作的两个常见小问题:
    检查数组中一个数出现过几次。
    需求:数组元素查找(查找指定元素第一次在数组中出现的索引)

    分析:
    A:定义一个数组,并静态初始化。
    B:写一个功能实现
    遍历数组,依次获取数组中的每一个元素,和已知的数据进行比较
    如果相等,就返回当前的索引值。
    */
    class ArrayTest5 {
    public static void main(String[] args) {
    //定义一个数组,并静态初始化
    int[] arr = {200,250,38,888,444};

    //需求:我要查找250在这个数组中第一次出现的索引
    int index = getIndex(arr,250);
    System.out.println("250在数组中第一次出现的索引是:"+index);

    int index2 = getIndex2(arr,250);
    System.out.println("250在数组中第一次出现的索引是:"+index2);

    int index3 = getIndex2(arr,2500);
    System.out.println("2500在数组中第一次出现的索引是:"+index3);
    }

    /*
    需求:查找指定数据在数组中第一次出现的索引
    两个明确:
    返回值类型:int
    参数列表:int[] arr,int value
    */
    public static int getIndex(int[] arr,int value) {
    //遍历数组,依次获取数组中的每一个元素,和已知的数据进行比较
    for(int x=0; x<arr.length; x++) {
    if(arr[x] == value) {
    //如果相等,就返回当前的索引值。
    return x;
    }
    }

    //目前的代码有一个小问题
    //就是假如我要查找的数据在数组中不存在,那就找不到,找不到,你就对应的返回吗?
    //所以报错。

    //只要是判断,就可能是false,所以大家要细心。


    //如果找不到数据,我们一般返回一个负数即可,而且是返回-1
    return -1;
    }

    public static int getIndex2(int[] arr,int value) {
    //定义一个索引
    int index = -1;

    //有就修改索引值
    for(int x=0; x<arr.length; x++) {
    if(arr[x] == value) {
    index = x;
    break;
    }
    }

    //返回index
    return index;
    }
    }

  • 相关阅读:
    element-ui select组件中复选时以字符串形式显示
    node.js入门学习笔记整理
    前端面试整理——javascript算法和测试题
    前端整理——css部分
    前端整理——Vue部分
    前端面试题整理——javaScript部分
    React 入门学习笔记整理目录
    element-ui Carousel 走马灯源码分析整理笔记(十一)
    element-ui Collapse 折叠面板源码分析整理笔记(十)
    element-ui Steps步骤条组件源码分析整理笔记(九)
  • 原文地址:https://www.cnblogs.com/lszbk/p/12318597.html
Copyright © 2011-2022 走看看