zoukankan      html  css  js  c++  java
  • 数组

    数组

    数组的定义

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

    数组的声明创建

    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("----------");
        }
    
  • 相关阅读:
    混合开发的坑(3) ---关于es6
    混合开发的坑(2) ---pdf展示
    混合开发的坑(1) ---ajax请求
    vue.js
    vue中 import引入组件
    vue中 静态文件引用注意事项
    Oracle 数据库链接
    Oracle中的NVL,NVL2,NULLIF以及COALESCE函数使用
    Merge into 使用
    C# —— IList, ArrayList与List的区别详解
  • 原文地址:https://www.cnblogs.com/quareus007/p/14327734.html
Copyright © 2011-2022 走看看