java基础7-数组

Posted LuckyGJX

tags:

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

一、数组的定义

1.两种方式

数据类型[] 数组名 = new 数据类型[元素个数或数组长度];

int[] x = new int[100];

 1public class ArrayDemo02 {
 2    public static void main(String[] args) {
 3        int[] arr = new int[4]; // 定义可以存储4个整数的数组
 4        arr[0] = 1; // 为第1个元素赋值1
 5        arr[1] = 2; // 为第2个元素赋值2
 6        // 下面的代码是打印数组中每个元素的值
 7        System.out.println("arr[0]=" + arr[0]);
 8        System.out.println("arr[1]=" + arr[1]);
 9        System.out.println("arr[2]=" + arr[2]);
 10        System.out.println("arr[3]=" + arr[3]);
 11    }
 12}

注:这个创建的数组实际上是在堆内存中创建了一块空间存放值,并生成一个地址,这个地址指向这个名为**的数组,具体的内存形态在以后详细阐述

②类型[] 数组名 = new 类型[]{元素,元素,……};

类型[] 数组名 = {元素,元素,元素,……};  

 1public class ArrayDemo03 {
 2    public static void main(String[] args) {
 3        int[] arr = { 1, 2, 3, 4 }; // 静态初始化
 4        // 下面的代码是依次访问数组中的元素
 5        System.out.println("arr[0] = " + arr[0]);
 6        System.out.println("arr[1] = " + arr[1]);
 7        System.out.println("arr[2] = " + arr[2]);
 8        System.out.println("arr[3] = " + arr[3]);
 9    }
 10}

2.数组的基本操作

class arr
{
    public static void main(String[] args){
//挑选数组中的最大值
    int[] arr2={8,4,9,2,1,5};
    int max=arr2[0];
    for (int i=1;i<arr2.length ;i++ )
    {
        if (arr2[i]<max)
        {
            max=arr2[i];
        }
    }
    System.out.println("最大值为"+max);
//一位数组的累加
    int sum2=0;
    int[] arr5={1,2,3,0,5,6};
    for (int i=0;i<arr5.length ;i++ )
    {
        sum2=sum2+arr5[i];
    }
        System.out.println(sum2);
    }
}

二、二维数组

1.二维数组的定义

    //第一种二维数组定义方式
    int [][] arr4=new int[2][3];
    arr4[0][0]=1;
    arr4[1][2]=2;
    //第二种二维数组定义方式
    int[][] arr4={{1,2,3,},{0,5,6}};

2.二维数组的基本操作

class arr
{
    public static void main(String[] args){
    //第一种二维数组定义方式
    int [][] arr4=new int[2][3];
    arr4[0][0]=1;
    arr4[1][2]=2;*/
    //第二种二维数组定义方式
    int[][] arr4={{1,2,3,},{0,5,6}};
    //二维数组的遍历
    
    for (int i=0;i<arr4.length ;i++ )
    {
        for (int j=0;j<arr4[i].length;j++ )
        {
        System.out.println(arr4[i][j]);
           int sum=0;
    //二维数组的累加
            sum=sum+arr4[i][j];
        }
    }
        System.out.println(sum);

        System.out.println(arr4[0][0]);
        System.out.println(arr4[0][1]);
        System.out.println(arr4[0][2]);
        System.out.println(arr4[1][0]);
        System.out.println(arr4[1][1]);
        System.out.println(arr4[1][2]);
    
    }
}

三、数组异常

1.数组越界

指数组下标超过或小于数组的长度而找不到数组中的值

 public class ArrayDemo06 {
     public static void main(String[] args) {
         int[] arr = new int[4]; // 定义一个长度为4的数组
         System.out.println("arr[0]=" + arr[4]); // 通过下标4访问数组元素
     }
}

2.空指针异常

在使用变量引用一个数组时,变量必须指向一个有效的数组对象,如果该变量的值为null,则意味着没有指向任何数组,此时通过该变量访问数组的元素会出现空指针异常

 public class ArrayDemo07 {
     public static void main(String[] args) {
         int[] arr = new int[3]; // 定义一个长度为3的数组
         arr[0] = 5; // 为数组的第一个元素赋值
         System.out.println("arr[0]=" + arr[0]); // 访问数组的元素
     arr = null; // 将变量arr置为null
     System.out.println("arr[0]=" + arr[0]); // 访问数组的元素
     }
 }

 

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

java基础7-数组

Java基础-7数组

整理笔记--Java基础(数组)

以下代码片段的时间复杂度是多少?

JAVA实现数组的反转--基础

java基础 数组14