• java中的数组


    什么是数组呢?

      数组是用来存储同一种数据类型多个元素的容器

        数据类型:可以是基本类型,也可以是引用类型

        容器:比如教室(有多个学生;多个桌子等),衣柜(放多个衣服)等,可以存放多个事物

    数组的定义格式

      数组的定义格式一:

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

    例:

    //定义一个长度为3的整型数组
    int[] arr=new int[3];

      数组的定义格式二:

        数据类型[ ] 数据名 = new 数据类型[ ]{元素1,元素2,元素3...}

        好处:定义时元素时确定的,避免内存空间的浪费

    例:

    //定义一个长度为3的整型数组
    int[] arr2 = new int[][1,2,3]

      数组的定义格式三

        数据类型[ ] 数组名 ={元素1,元素2,元素3....}

        格式三是格式二的变形,简化了代码编写 

    例:

    //定义一个长度为3的整型数组
    int[] arr3 = {1,2,3}

    定义格式详解

        数据类型:即数组中存储元素的数据类型,可以是基本数据类型,也可以是引用数据类型

        [ ]:表示数组

        数组名:数组的变量名,遵循标识符命名规范

        new :创建数组的关键字,通过new开辟内存空间

        长度:即数组长度,数组最多能够存放元素的个数。

        注意:数组长度在定义时指定,不可更改

    数组的访问

      通过数组的索引访问数组的元素

      索引:也叫下标、脚标,是数组元素距离数组起始位置的偏移量。

         第一个元素的偏移量为0,所以数组的索引从0开始

      格式:数组名[索引]

         取值:数组名[索引]

         赋值:数组名[索引] = 值

    例:

    //定义一个长度为3的整型数组
    int[ ] arr3 = {1,2,3};
    System.out.print(arr3[0]); //输出:1
    //定义一个长度为3的整型数组
    int[] arr3 ={1,2,3};
    arr3[1] =4;   //给第2个元素赋值为4
    System.out.print(arr3[1]); //输出:4

     数组的初始化

      在内存中为数组开辟连续空间并为每个元素赋值的过程

        内存:计算机的重要组件,用于程序运行中临时存储的数据。

        连续空间:数组元素在内存空间中的存放位置是连续的

      而在数组的初始化中只要分为两种状态

        动态初始化:只指定长度,由系统给出默认值,比如数组的格式定义一

          整型:0

          浮点型:0.0

          字符型:‘u0000’(空字符串)

          布尔型:false/true

          引用类型:null

        静态初始化:给出初始化值,由系统决定数组长度,比如数组的格式定义一,二

    java程序的内存分配

      方法区:存储可运行的class文件,包含方法,静态成愿,常量等

       栈:方法运行时使用的内存,特点是”先进后出“,即最先进入栈区的方法最后出栈,比如main方法

      :存储new出来的数组或对象

       本地方法栈:JVM在调用操作系统功能时使用,与开发无关

       寄存器:CPU使用,与开发无关

       数组类型:变量arr存储的是数组在堆内存中的地址值,而不是数组元素的值,变量arr通过内存地址引用堆内存中的数组,所以

    数组是引用类型

    数组使用中常见的两个问题   

      数组索引越界异常:ArrayIndexOutOfBoundsException

        当访问了不存在的索引时(比如:数组的长度为3(0,1,2),而去访问这个数组下标为3的元素)

        异常:即非正常情况,可以简单理解为程序运行过程中出现错误

      空指针异常:NullPointerException

        数组引用存储的值为null而非数组的地址时

    例:

    int[] arr1 =new int[3];
    arr1[0] =1;
    arr1[1] =2;
    arr1[2] =3;
    System.out.println(arr1[0]);   //1
    System.out.println(arr1[1]);   //2
    arr1=null;
    System.out.println(arr1[2]);  //报错

     引用类型和基本类型的区别

      基本类型的变量作为参数传递时,传的是”

      引用类型的变量作为参数传递时,传的是”地址值

      

  • 相关阅读:
    软件工程结对作业
    软件工程第二次作业
    软件工程第一次作业
    MATLAB安装教程
    实现生成小学四则运算练习题
    结对编程-审查代码
    软件第三次作业
    练习使用Eclipse进行单元测试
    软件工程第一次作业
    Visual Studio Code (vscode)
  • 原文地址:https://www.cnblogs.com/zxy6/p/14208136.html
Copyright © 2020-2023  润新知