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

数组遍历

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

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;
    }
}

执行结果

?

方法的参数类型区别

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

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

时间: 2024-08-01 02:54:08

数组的常见操作及易出现的问题的相关文章

数组的常见操作

遍历 方式1: public static void printArray(int[] arr) { for(int x=0; x<arr.length; x++) { //arr.length获取数值长度 System.out.println(arr[x]); } } 方式2: public static void printArray(int[] arr) { System.out.print("["); for(int x=0; x<arr.length; x++)

javascipt中数组的常见操作

1.与lua不同,即使数组中间有null或者undefined,仍然能求出正确的长度 2.length 改变.length也会改变数组的大小 3. indexOf arr.indexOf(a)会返回第一个a的下表,如果没有,返回-1 4.slice()参数包括开始索引,不包括结束索引.左闭右开 如果不给slice()传递任何参数,它就会从头到尾截取所有元素.利用这一点,我们可以很容易地复制一个Array: 5.push() pop() push()向Array的末尾添加若干元素,pop()则把A

[java学习笔记]java语言基础概述之数组的定义&amp;常见操作(遍历、排序、查找)&amp;二维数组

1.数组基础 1.什么是数组:           同一类型数据的集合,就是一个容器. 2.数组的好处:           可以自动为数组中的元素从零开始编号,方便操作这些数据. 3.格式:  (一旦创建,必须明确长度)          格式1:              元素类型   [ ]  数组名  =  new  元素类型  [元素个数即数组的长度]:              示例:int[] array = new int[5];          格式2:           

数组常见操作_使用字母打印正三角形

数组常见操作: 使用字母打印正三角形 public class fifty { public static void main(String[] args) { char[] c = {'A','B','C','D','E','F','G'}; //要打印的行数 for(int i = 0;i<c.length; i++){ //打印每一行空格 for(int j = i; j<c.length-1; j++){ System.out.print(" "); } //打印每

数组常见操作_猜数游戏

数组常见操作: 猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数,并记录该数在数组中存在多少次 public class fortyNine { public static void main(String[] args) { Scanner input = new Scanner(System.in); int[] sum = {10,20,21,34,65,76,6,87,98,20}; System.out.println("猜数游戏开始!"); System.out.

Java中对数组的一些常见操作

数组是一种数据结构,用来存储同一类型值的集合.通过一个整型下标可以访问数组中的每一个值. 常见操作如下: 声明数组: 数组初始化: 查看数组长度: for each循环: 数组拷贝: 数组排序: 将int数组转换为字符串: 二维数组: 1. 声明数组 语法:  数据类型[ ] 数组名: 或者   数据类型 数组名[ ]: 2.数组初始化 3.获得数组长度 4.for each循环 foreach 并不是 Java 中的关键字,是 for 语句的特殊简化版本,在遍历数组.集合时, foreach

java学习第05天(数组常见操作、数组中的数组)

(4)数组常见操作 a.遍历取值 class ArrayDemo3 { public static void main(String[] args) { //System.out.println("Hello World!"); //格式1 /* 需要一个容器,但不明确容器的具体数据. */ //int[] arr = new int[8]; //格式2 /* 需要一个容器,储存一直的具体数据. */ //元素类型[] 数组名 = new 元素类型[](元素,元素,....); //i

数组常见操作、Arrays类、基本数据类型包装类

数组常见操作 冒泡排序法 选择排序法 二分查找法 Arrays类 成员方法示例 基本数据类型包装类 基本类型和包装类的对应 Integer类举例 装箱和拆箱 int转换成String类型 String类型转换成int类型 原文地址:http://blog.51cto.com/13987153/2308625

JS 数组常见操作汇总,数组去重、降维、排序、多数组合并实现思路整理

壹 ? 引 JavaScript开发中数组加工极为常见,其次在面试中被问及的概率也特别高,一直想整理一篇关于数组常见操作的文章,本文也算了却心愿了. 说在前面,文中的实现并非最佳,实现虽然有很多种,但我觉得大家至少应该掌握一种,这样在面试能解决大部分数组问题.在了解实现思路后,日常开发中结合实际场景优化实现,提升性能也是后期该考虑的. 本文主要围绕数组去重.数组排序.数组降维.数组合并.数组过滤.数组求差集,并集,交集,数组是否包含某项等知识点展开,附带部分知识拓展,在看实现代码前也建议大家先自