java语言基础--数组

数组

  • 数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器。
  • 数组里面既可以存储基本数据类型,也可以存储引用数据类型,但是只能存储同一种数据类型
  • 数组是一种简单的数据结构,线性的结构
  • 数组一旦创建其长度是不可变的
  • 数组是引用数据类型

静态定义各种类型的数组

//int 类型的一位数组
int [] i = {1024,4555,9999};
// String类型的一维数组
String [] str = {"lala","didi"};
//Object类型的一维数组
Object o1 = new Object();
Object o2 = new Object();
Object o3 = new Object();
Object [] o = {o1,o2,o3};

获得数组中的某个数据

System.out.println(i[1]);      //打印下标为1的数据

注:如果我要的下标超过了数组的范围,这时候,会报出这样的错误

 java.lang.ArrayIndexOutOfBoundsException

即:数组越界。

打印数组i的长度

System.out.println(i.length);

动态定义一个数组

来个栗子:

public class Main {

    public static void main(String[] args) {

        int[] intArray = new int[4];

        intArray[0] = 1000;
        intArray[1] = 1001;
        intArray[2] = 1002;
        intArray[3] = 1003;

        for (int i = 0; i < intArray.length; i++) {
            System.out.println(intArray[i]);
        }
    }
}

当我们修改某一个元素时,那我们看一下数组是否还是同一个地址

public class Main {

    public static void main(String[] args) {

        int[] intArray = new int[4];

        intArray[0] = 1000;
        intArray[1] = 1001;
        intArray[2] = 1002;
        intArray[3] = 1003;

        System.out.println(intArray);
        
        intArray[0] =10000;
        
        System.out.println(intArray);
    }
}

执行结果:

[I@7852e922
[I@7852e922

地址值相同,说明是同一个。

一维数组内存图

小练习:

 获得数组中最大的数值

public class Main {

    public static void main(String[] args) {

        int[] array = { 98, 76, 899, 765 };
        System.out.println(findMax(array));

    }

    public static int findMax(int[] array) {

        int max = array[0];
        for (int i = 0; i < array.length; i++) {
            if (max < array[i]) {
                max = array[i];
                return max;
            }
        }
        return 0;
    }
}

执行结果:

899

 

posted on 2018-08-16 15:57  董大志  阅读(90)  评论(0)    收藏  举报

导航