数组

Posted ahjava

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组相关的知识,希望对你有一定的参考价值。

---恢复内容开始---

数组的概念:

数组就相当于一个书架放着一些相同类别的书籍,这些书籍都是有分类的比如计算机类医学类等等书籍。

数组的声明格式:

动态声明

数据类型[] 数组名=new 数据类型[数组大小];
int[] arr1=new int[5];

静态声明

数据类型[] 数组名={数据1,数据2,数据3};
int[] arr2={1,2,3};
或者
数据类型[] 数组名=new int[]{数据1,数据2,数据3};
int[] arr2=new int[]{1,2,3};

静态数组初始化与动态数组初始化区别:静态初始化是根据元素的个数,来分配数组大小。

动态初始化是指定大小后再初始化值。

数组的内存图:

栈:局部变量,局部方法。

堆:只要是new的东西都放在堆。

package com.itheima.test;

public class Arrays_Demo01 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] arr1 = new int[3];
        int[] arr2 = new int[3];
        arr1[0] = 1;
        arr1[1] = 2;
        arr1[2] = 3;
        arr2[0] = 1;
        arr2[1] = 2;
        arr2[2] = 3;
        System.out.println(arr1);
        System.out.println(arr2);
        for(int i=0;i<arr1.length;i++) {
            System.out.println(arr1[i]);
            
        }
        for(int i=0;i<arr2.length;i++) {
            System.out.println(arr2[i]);
            
        }
    }

}

技术分享图片

数组遍历:

数组的下标是以0开始,length是获得数组的长度

package com.itheima.test;

public class Arrays_Demo02 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] arr1 = { 1, 2, 3, 4, 5 };
        for (int i = 0; i < arr1.length; i++) {
            System.out.println(arr1[i]);
        }
    }

}

数组练习题1:

求出数组的最大值

package com.itheima.test;

public class Arrays_Demo02 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] arr1 = { 1, -11, 888, 4, 5 };
        int max = arr1[0];
        //先初始化一下max
        for (int i = 1; i < arr1.length; i++) {
            if (arr1[i] > max) {
                //判断有没有比max更大的元素
                max = arr1[i];
                //如果有则重新赋值给max
            }
        }
        System.out.println(max);
    }

}

数组倒序练习题2:

package com.itheima.test;

public class Arrays_Demo02 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] arr1 = { 1, 14, 177, 155, -11, 888};
        int number;
        /*先声明一个int数
         * 6个元素需要交换3次,8个元素需要交换4,交换次数=数组长度/2
         * 要交换值就需要一个中间数,那么number得作用就在这里
         * 
         * */
        for (int i = 0; i < arr1.length / 2; i++) {
            number=arr1[i];
            arr1[i] = arr1[arr1.length - 1 - i];
            arr1[arr1.length - 1 - i]=number;
        }
        for(int c:arr1) {
            System.out.println(c);
        }
    }

}

 

以上是关于数组的主要内容,如果未能解决你的问题,请参考以下文章

web代码片段

错误代码:错误域 = NSCocoaErrorDomain 代码 = 3840“JSON 文本没有以数组或对象和允许未设置片段的选项开头。”

javascript常用代码片段

为什么我不能在此片段中生成唯一对象数组?

js简洁代码片段

为啥此代码片段返回意外结果?