• 数组


    数组

    数组的定义

    • 是相同类型数据的有序集合
    • 每个元素可以通过下标访问数组元素

    数组的声明创建

    dataType[] arrayRefVar;
    int[] a;//声明的例子
    
    dataType[] arrayRefVar = new dataType[arraySize];
    int[] b = new int[10];//创建一个可以存储10个,类型为整形的数组。
    

    元素通过索引访问,索引从零开始。

    获取数组的长度——arrays.length

    数组的内存分析

    堆:

    • 存放new的对象和数组
    • 可以被所有的线程共享,不会存放别的对象引用

    栈:

    • 存放基本变量类型(会包含具体数值)
    • 引用对象的变量(会存放具体地址)

    方法区:

    • 可以被所有线程共享
    • 包含所有class和static变量

    初始化

    静态:创建+赋值

    int[] a = {1,2,3,4,5,6};
    

    动态:包含默认初始化(隐式初始化:数字---0;字符:null)

    int[] b = new int[10];
    b[0] = 10;
    

    基本特点

    1. 长度是确定的。创建后大小不可改变
    2. 元素必须是相同类型。
    3. 数组的类型可以是任意的。
    4. 数组的变量属于引用类型。
    5. 数组对象本身是在 堆 中的

    数组边界

    合法边界:[0——array.length-1]

    数组下标越界错误:ArrayIndexOutOfBoundsException

    数组使用

     public static void main(String[] args) {
            int[] a = {1,2,3,4,5};
            //打印数组元素
            for (int i = 0; i < a.length; i++) {
                System.out.println(a[i]);
            }
            System.out.println("=====");
            //计算所有元素的和
            int sum = 0;
            for (int i = 0; i < a.length; i++) {
                sum += a[i];
            }
            System.out.println("sum="+sum);
            System.out.println("=====");
            //查找最大元素
            int max = a[0];
            for (int i = 1; i < a.length; i++) {
                if (max<a[i])
                    max = a[i];
            }
            System.out.println("max="+max);
     }
    

    多维数组

    二维数组的定义

    int[][] a = new int[2][2];//定义了一个二行二列的数组
    

    Arrays类

    数组的工具类!!

    toString——输出数组的数据

    fill——给数组赋值

    sort——数组排序(升序)

    equals——比较数组中元素的值

    brinarySearch——二分查找

     public static void main(String[] args) {
            int[] a = {1,2,3,5,75,32,31,76,9,4};
            System.out.println(Arrays.toString(a));//输出数组元素
            System.out.println("----------");
            System.out.println(Arrays.binarySearch(a, 9));//查找9的下标位置并输出
            System.out.println("----------");
            Arrays.sort(a);//对数组进行升序排序
            System.out.println(Arrays.toString(a));//输出排序后的数组
            System.out.println("----------");
            Arrays.fill(a,1);//对数组进行填充,填充数字为1
            System.out.println(Arrays.toString(a));//输出数组验证
            System.out.println("----------");
        }
    
  • 相关阅读:
    CCS样式命名
    BFC机制
    html及css小结
    盒模型
    C#函数的使用方法
    如何读代码
    利用CSS-border属性实现圆饼图表
    WNMP环境搭建(win10+Ndinx1.9.15+MySQL5.7.12+PHP5.6.21)
    vue 项目优化:引入cdn使用插件, 减少打包体积
    'PORT' 不是内部或外部命令,也不是可运行的程序
  • 原文地址:https://www.cnblogs.com/quareus007/p/14327734.html
Copyright © 2020-2023  润新知