• 在线客服

  • 扫描二维码
    下载博学谷APP

  • 扫描二维码
    关注博学谷微信公众号

  • 意见反馈

原创 Java基础入门数组学习笔记

发布时间:2020-05-25 15:33:04 浏览 3524 来源:博学谷 作者:照照

    众所周知,数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。要想入门Java,数组是一个必须好好学习的基础知识点。本文为广大Java基础入门初学者归纳总结了数组的学习笔记,下面一起来看看吧~

     

    Java数组学习

     

    一、数组定义格式

     

    1、第一种

     

    数据类型[] 数组名

     

    示例:

     

    ```java

    int[] arr;       

    double[] arr;     

    char[] arr;

    ```

     

    2、第二种

     

    数据类型 数组名[]

     

    示例:

     

    ```java

    int arr[];

    double arr[];

    char arr[];

    ```

     

    二、数组动态初始化

     

    数组动态初始化就是只给定数组的长度,由系统给出默认初始化值。

     

    1、动态初始化格式

     

    ```java

    数据类型[] 数组名 = new 数据类型[数组长度];

    ```

     

    ```java

    int[] arr = new int[3];

    ```

     

    2、动态初始化格式详解

     

    1)等号左边:

     

    int:数组的数据类型

     

    []:代表这是一个数组

     

    arr:代表数组的名称

     

    2)等号右边:

     

    new:为数组开辟内存空间

     

    int:数组的数据类型

     

    []:代表这是一个数组

     

    5:代表数组的长度

     

    三、数组元素访问

     

    1、什么是索引?

     

    每一个存储到数组的元素,都会自动的拥有一个编号,从0开始。这个自动编号称为数组索引(index),可以通过数组的索引访问到数组中的元素。

     

    2、访问数组元素格式

     

    ```java

    数组名[索引];

    ```

     

    3、示例代码

     

    ```java

    public class ArrayDemo {

        public static void main(String[] args) {

            int[] arr = new int[3];

     

            //输出数组名

            System.out.println(arr); //[I@880ec60

     

            //输出数组中的元素

            System.out.println(arr[0]);

            System.out.println(arr[1]);

            System.out.println(arr[2]);

        }

    }

    ```

     

    四、内存分配

     

    1、内存概述

     

    内存是计算机中的重要原件,临时存储区域,作用是运行程序。我们编写的程序是存放在硬盘中的,在硬盘中的程序是不会运行的。必须放进内存中才能运行,运行完毕后会清空内存。Java虚拟机要运行程序,必须要对内存进行空间的分配和管理。

     

    2Java中的内存分配

     

    目前我们只需要记住两个内存,分别是:栈内存和堆内存。

     

    区域名称

    作用

    寄存器

    CPU使用,和我们开发无关。

    本地方法栈

    JVM在使用操作系统功能的时候使用,和我们开发无关。

    方法区

    存储可以运行的class文件。

    堆内存

    存储对象或者数组,new来创建的,都存储在堆内存。

    方法栈

    方法运行时使用的内存,比如main方法运行,进入方法栈中执行。

     

    五、数组静态初始化

     

    在创建数组时,直接将元素确定。示例代码如下:

     

    ```java

    public class ArrayDemo {

        public static void main(String[] args) {

            //定义数组

            int[] arr = {1, 2, 3};

     

            //输出数组名

            System.out.println(arr);

     

            //输出数组中的元素

            System.out.println(arr[0]);

            System.out.println(arr[1]);

            System.out.println(arr[2]);

        }

    }

    ```

     

    六、数组操作的两个常见小问题

     

    1、索引越界异常

     

    1)出现原因

     

      ```java

      public class ArrayDemo {

          public static void main(String[] args) {

              int[] arr = new int[3];

              System.out.println(arr[3]);

          }

      }

      ```

     

     数组长度为3,索引范围是0~2,但是我们却访问了一个3的索引。 程序运行后,将会抛出ArrayIndexOutOfBoundsException 数组越界异常。在开发中,数组的越界异常是不能出现的,一旦出现了,就必须要修改我们编写的代码。

     

    2)解决方案

     

    将错误的索引修改为正确的索引范围即可!

     

    2、空指针异常

     

    1)出现原因

     

     ```java

      public class ArrayDemo {

          public static void main(String[] args) {

              int[] arr = new int[3];

     

              //null赋值给数组

              arr = null;

              System.out.println(arr[0]);

          }

      }

      ```

     

    arr = null 这行代码,意味着变量arr将不会在保存数组的内存地址,也就不允许再操作数组了,因此运行的时候会抛出 NullPointerException 空指针异常。在开发中,数组的越界异常是不能出现的,一旦出现了,就必须要修改我们编写的代码。

     

    2)解决方案

     

    给数组一个真正的堆内存空间引用即可!

     

    以上就是Java基础入门数组学习笔记的全部内容,如果大家关于数组还有其他的疑问,可以在博学谷学习关于数组的视频课程,相信可以获得更加清晰的讲解~

    申请免费试学名额    

在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!

上一篇: 在线Java课程学费多少? 下一篇: Java工程师需要会什么?岗位要求

相关推荐 更多

热门文章

  • 前端是什么
  • 前端开发的工作职责
  • 前端开发需要会什么?先掌握这三大核心关键技术
  • 前端开发的工作方向有哪些?
  • 简历加分-4步写出HR想要的简历
  • 程序员如何突击面试?两大招带你拿下面试官
  • 程序员面试技巧
  • 架构师的厉害之处竟然是这……
  • 架构师书籍推荐
  • 懂了这些,才能成为架构师
  • 查看更多

扫描二维码,了解更多信息

博学谷二维码