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("----------");
        }
    
  • 相关阅读:
    vue学习目录
    充分利用 SQL Server Reporting Services 图表
    MSCRM 用户登录日志
    Microsoft Dynamics CRM MVP
    在SSRS 里实现 SUMIF
    MSCRM 报表显示 rsprocessingaborted 错误
    电商CRM的痛点在哪里?
    MSCRM 2011/2013/2015 修改显示记录数
    MSCRM 2013/2015 Ribbon Editor
    Q:解决每天第一次打开MSCRM系统展示慢的问题
  • 原文地址:https://www.cnblogs.com/quareus007/p/14327734.html
Copyright © 2011-2022 走看看