二、我是菜鸟_5.Java数组基础

数组不管在任何一门语言中都有重要的位置,必会。
第一部分,语法。
<li>定义一个数组:int[] array = new int[]; 或者 int[] array = new int[]{ 1,2,3,4,5 };
<li>赋值:int[] array = new int[]{ 1,2,3,4,5 };
<li>常用属性:
length:数组的长度。array.length, 返回值为int类型

第二部分,常用操作。
先创建一个空的数组

int array[] = new int[10];

<li>1. 用 fill(数组名,要填充的内容)方法 填充数组

// 1.用某一个数填充数组的所有元素(int为例)
        int array[] = new int[10];
        Arrays.fill(array, 7);
        for (int a : array) {
            System.out.print(a + "\t");
        }
        System.out.println();

fill()还有另一个重载形态,Arrays.fill(数组名, 起始索引, 结束索引, 要填充的值);

// 2.用某一个值填充某一个范围内的所有元素(int类型为例)
        //  这里要说明一下,第二个参数代表起始索引(包括这个索引的元素),第三个参数代表截止索引(不包含截止索引的元素)
        //  比如说Arrays.fill(array, 0, 4, 3);那么被操作的元素就是array数组中的第1,2,3,4个元素(因为不包括截止索引的元素)
        Arrays.fill(array, 0, 4, 9);
        for (int i : array) {
            System.out.print(i + "\t");
        }
        System.out.println();
        //  常见错误,数组越界。
        //  那么什么是数组越界呢,就是当索引大于数组最大索引时就会发生越界,程序会报ArrayIndexOutOfBoundsException异常

<li>2.对数组进行排序(升序排列)

Arrays.sort(array);
    for (int i : array) {
        System.out.print(i + "\t");
    }
    System.out.println();
//  排序的时候要注意,在Java语言中,String类型数组的排序算法是根据字典编排顺序排序的
//  因此,数字排在字母前面,大写字母排在小写字母前面

<li>3.复制数组

//  Arrays类的copyOf()方法 和 copyOfRange()方法
        //  copyOf(arr, int newlength)方法:arr代表数组名称,newlength代表新数组的长度
        int[] array2 = Arrays.copyOf(array, 13);
        for (int i : array2) {
            System.out.print(i + "\t");
        }
        System.out.println();
        int[] array3 = Arrays.copyOf(array, 5);
        for (int i : array3) {
            System.out.print(i + "\t");
        }
        System.out.println();
        //  写到这里可以发现,当新复制的数组的长度大于被复制的数组时,多出来的位置用0填充
        //  当新复制的数组的长度小于被复制的数组时,只复制从0到指定长度
        
        // 5.复制给定范围的数组
        //  这种模式更常用,必会
        //  Arrays.copyOfRange(数组名, 起始索引, 结束索引),和之前一样,结束索引位置的元素不被复制
        //  方法返回的一个新数组
        int[] array4 = Arrays.copyOfRange(array, 3, 5);
        for (int i : array4) {
            System.out.print(i + "\t");
        }
        System.out.println();
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,437评论 18 399
  • 一、 1、请用Java写一个冒泡排序方法 【参考答案】 public static void Bubble(int...
    独云阅读 5,254评论 0 6
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 5,950评论 0 2
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    叶总韩阅读 10,542评论 0 41
  • 睡觉ㄟ(▔ ,▔)ㄏ 负面情绪,大家请自动忽略。
    wbsy001阅读 1,495评论 3 3

友情链接更多精彩内容