zoukankan      html  css  js  c++  java
  • 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]); // 访问数组的元素
         }
     }

  • 相关阅读:
    1015. 德才论
    1014. 福尔摩斯的约会
    1013. 数素数
    1012. 数字分类
    1011. A+B和C
    1010. 一元多项式求导
    1009. 说反话
    1008. 数组元素循环右移问题
    1007. 素数对猜想
    1006. 换个格式输出整数
  • 原文地址:https://www.cnblogs.com/LuckyGJX/p/8724389.html
Copyright © 2011-2022 走看看