码迷,mamicode.com
首页 > 编程语言 > 详细

数组的常见操作及易出现的问题

时间:2019-06-14 21:42:18      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:lte   sse   数组遍历   pre   false   idt   ping   bae   引用类型   

数组遍历

数组遍历: 就是将数组中的每个元素分别获取出来,就是遍历。

package demo02;

public class Demo03Array {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5};
        // for循环遍历数组
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
}
技术图片

执行结果

技术图片技术图片?

数组获取最大值元素

最大值获取:从数组的所有元素中找出最大值。

实现思路:

  1. 定义变量,保存数组0索引上的元素
  2. 遍历数组,获取出数组中的每个元素
  3. 将遍历到的元素和保存数组0索引上值的变量进行比较
  4. 如果数组元素的值大于了变量的值,变量记录住新的值
  5. 数组循环遍历结束,变量保存的就是数组中的最大值
package demo02;

public class Demo04 {
    public static void main(String[] args) {
        int[] arr = {5, 15, 21100, 1000, 10, 41000};
        //定义变量,保存数组中0索引的元素
        int max = arr[0];
        //遍历数组,取出每个元素
        for (int i = 0; i < arr.length; i++) {
            //遍历到的元素和变量max比较
            //如果数组元素大于max
            if (arr[i] > max) {
                //max记录住大值
                max = arr[i];
            }
        }
        System.out.println("数组最大值是: " + max);
    }
}

执行结果

技术图片技术图片?

数组常见的2个错误

数组越界异常:我们访问数组中不存在的索引,程序运行后,将会抛出 ArrayIndexOutOfBoundsException 数组越界异常。在开发中,数组的越界异常是不能出现的,一旦出现了,就必须要修改我们编写的代码。 

技术图片技术图片?

数组空指针异常:数组变量名没有保存数组的内存地址,如果我们再操作数组,会抛出 NullPointerException 空指针异常。在开发中,数组的越界异常是不能出现的,一旦出现了,就必须要修改我们编写的代码。 

技术图片技术图片?

数组作为方法参数和返回值

数组作为方法参数传递,传递的参数是数组内存的地址。

package demo02;

public class Demo05 {
    public static void main(String[] args) {
        int[] arr = {1, 3, 5, 7, 9};
        //调用方法,传递数组
        printArray(arr);
    }

    /*
    创建方法,方法接收数组类型的参进行数组的遍历
    */
    public static void printArray(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
}

执行结果

技术图片技术图片?

数组作为方法返回值

数组作为方法的返回值,返回的是数组的内存地址

package demo02;

public class Demo06 {
    public static void main(String[] args) {
        //调用方法,接收数组的返回值
        //接收到的是数组的内存地址
        int[] arr = getArray();
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }

    /*创建方法,返回值是数组类型
    return返回数组的地址
    */
    public static int[] getArray() {
        int[] arr = {1, 3, 5, 7, 9};
        //返回数组的地址,返回到调用者
        return arr;
    }
}
技术图片

执行结果

技术图片技术图片?

方法的参数类型区别

  • 方法的参数为基本类型时,传递的是数据值. 方法的参数为引用类型时,传递的是地址值.

数组的常见操作及易出现的问题

标签:lte   sse   数组遍历   pre   false   idt   ping   bae   引用类型   

原文地址:https://www.cnblogs.com/wurengen/p/11025289.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!