zoukankan      html  css  js  c++  java
  • Java基础入门(六)之数组

    一、一维数组

    1.          定义:数组是存储同一种数据类型 多个元素的集合 也可以看成是一个容器数组既可以存储基本数据类型 也可以存储引用数据类型数组 它本身就是一个类型 是一个引用数据类型。

    2.          作用:存储同一类型的多个数据,可以为元素编号

    3.          格式:数据类型[] 数组名 = new 数据类型[数组长度]

    4.          内存:堆内存和栈内存

    栈内存 存储的是基本数据类型的变量数据 / 对象的引用 / 方法

    堆内存 存储new出来的实体 数组/对象new出来的东西 叫做实体

    每一个实体 都有内存地址值,实体中变量都有默认初始化值,不同数据类型的初始化值不同,引用数据类型初始化为null

    5.          初始化方式:静态初始化和动态初始化

    动态初始化:为数组开辟连续的内存空间 并且为每个数组的元素赋默认值  格式:数据类型[] 数组名 = new 数据类型[数组长度]

    在创建的时候 就指定了数组的长度由系统给出默认初始化值

    静态初始化:在创建时 给出存储内容 系统自动分配长度

    格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3....元素n}元素之间以逗号进行分割

    简写格式:数据类型[] 数组名 = {元素1,元素2,元素3....元素n}

    注意:静态初始化的简写格式 不能先声明 后 指向只能在一行书写

    6.          数组中常见的异常以及举例

     

    7.          数组的遍历

     

    8.          排序    选择排序 冒泡排序  二分法查找

    选择排序

     

    冒泡排序

     

    二分查找法

     

    9.          Arrays工具类:负责对数组进行 排序 查找 填充 等等操作

    主要用来操作一维数组的

    java.util.Arrays

    静态方法 使用 类名.方法名 直接调用

    常用方法:

    .将组内容转成字符串的形式输出String Arrays.toString(int[] array)

    .数组排序 默认是升序void Arrays.sort(int[] array)

    .使用二分查表法 从数组中获取指定元素的索引 有就返回 没有返回-1    int Arrays.binarySearch(int[] array,int value)

    .复制指定的数组

    .1 int[] Arrays.copyOf(int[] array,int newlength) 包含length 个数 长度

    .2 int[] Arrays.copyOfRange(int[] array,int from,int to) 角标 包含头 不包含尾 [from,to)

    .判断两个数组是否相等boolean Arrays.equals(int[] array1,int[] array2)

    6.使用指定元素填充数组void Arrays.fill(int[] array,填充的数据)

    二、二维数组

    1.定义:数组中每一个元素搜是一个一维数组

    2.初始化方式:静态和动态

    静态初始化:

    格式: 元素类型[][] 数组名 = new 元素类型[][]{{一维数组1},{一维数组2},{一维数组3}...{一维数组n}};

    简化: 元素类型[][] 数组名 = {{一维数组1},{一维数组2},{一维数组3}...{一维数组n}};

                       例如: int[][] arr = {{5,6,7},{8,9,10},{2,3}};

     

    动态初始化:

    格式: 元素类型[][] 数组名 = new 元素类型[二维数组的长度][一维数组的长度];

                                 例如: int[][] arr = new int[3][3];

     

    3.值传递和引用传递

    在Java中 方法的传参 基本数据类型 传的是值 值传递 值在该方法中 改变 属于局部变量改变 当出了该方法 就没有作用了

    在Java中 方法的传参 引用数据类型 传的是地址值 当传入 arr数组在内存中的地址值后 堆内存中连续空间中值发生改变可以影响数组整体

  • 相关阅读:
    Spring Boot:自动配置原理
    centos7安装zookeeper
    spring集成RabbitMQ
    centos7安装RabbitMQ
    centos7安装MongoDB4.0(yum安装)
    nginx日志分割
    centos7 yum安装nginx
    centos7使用cronolog分割tomcat8.5的catalina.out日志
    ubuntu18安装微信
    idea打开dashboard
  • 原文地址:https://www.cnblogs.com/xue-er/p/9356484.html
Copyright © 2011-2022 走看看