zoukankan      html  css  js  c++  java
  • 数组

    数组的定义
    相同数据类型数据的有序集合
    若干元素安宅先后次序排列组合而成
    每个数据成为一个数组匀速可以通过一个下标来访问他们
    数组声明创建
    首先必须声明数组变量才能在程序中是使用数组。
    dataType[ ] arrayRefVar;
    java使用new操作符来创建数组。
    dataType[ ] arrayRefVar=new dataType[arraySize ];
    package Array;

    public class Demon1 {
    public static void main(String[] args) {
    int[] nums;// 1.声明了一个数组 未分配空间
    //变量类型 变量名
    nums = new int[8];//2.这里可以存放10个int类型的数 //长度
    nums[0]= 1;
    nums[1]= 18;
    nums[2]= 51;
    nums[3]= 31;
    nums[4]= 14;
    nums[5]= 15;
    nums[6]= 41;
    nums[7]= 1;
    //3.给数组里的空间赋值

        System.out.println(nums[0]);
    
        int sum = 0 ;
        for (int i = 0; i < nums.length; i++) {
            //遍历数组       //数组长度↑
            sum= sum+ nums[i];
    
        }System.out.println(sum);   
    }
    

    }
    内存分析
    在声明时

    int[] nums;
    栈中压入一块空间为nums,接着

    nums = new int[8];
    在堆中开辟一块nums空间,其中有8个空位

        nums[0]= 1;
        nums[1]= 18;
        nums[2]= 51;
        nums[3]= 31;
        nums[4]= 14;
        nums[5]= 15;
        nums[6]= 41;
        nums[7]= 1;
    

    然后通过赋值,堆中的nums空间里的8个空间都有数值。

    初始化状态
    package Array;

    public class Demom2 {
    public static void main(String[] args) {

        int[] a = {12,8,9,3,12,54,2};//静态初始化
    
        int[] b = new int[10];//动态初始化 只分配了空间其中的值都是0
        b[1]= 10;             //包含了默认初始化,new之后所有空间均被初始化为0
    
    }
    

    }
    知识点在程序注释中。

    数组的四个基本特点
    长度确定,数组一旦被创建,他的大小就是不可改变的
    元素必须相同类型
    元素可以时任何数据类型,包括基本类型和引用类型
    数组变量属于引用类型,数组本身就是对象,元素相当于对象的成员变量,java中对象是在堆中的(数组对象本身是在堆中的)
    数组边界
    小标的合法区间为 [0~长度-1],越界会报错。

    数组的使用
    package Array; //数组的简单使用方法,以下三种

    public class Demon3 {
    public static void main(String[] args) {
    int[] Array = {12,2,3,4,5,6,};

        for (int i = 0; i < Array.length; i++) {
            System.out.println(Array[i]);//打印数组中的所有元素
    
        }
    
        int sum = 0 ;
        for (int i = 0; i <Array.length; i++){
    
            sum += Array[i];
    
        } System.out.println(sum);//数组中数字的和
    
        int max = 0;
        for (int i = 0; i < Array.length; i++) {
            if(max < Array[i]){
                max= Array[i];
            }
            
    
        }System.out.println("最大值为:"+ max); //数组中的最大值
    
        }
    
    }
    

    增强型for循环
    输入 数组名.for 回车 ,省去了下标,适合打印输出,但不适合操作里面的元素。

    package Array;

    public class Demon4 {
    public static void main(String[] args) {

        int[] array = {12,2,3,4,5,6,};
        for (int i : array) {  //增强型for循环
            System.out.println(i);
        }
    
    }
    

    }
    数组的其他使用例子

    package Array;

    public class Demon5 {
    public static void main(String[] args) {
    int[] array = {1,2,3,5,6,6}; //定义一个数组
    printArray(array);//打印数组array
    reverse(array);//反转数组array
    int[ ] reverse = reverse(array);//定义数组reverse为反转后数组
    printArray(reverse);//输出reverse数组

    }
           //无返回值    方法名      输入参数
    

    public static void printArray(int[] array) { //方法:打印数组的所有元素
    for (int i = 0; i < array.length; i++) {
    System.out.println(array[i]);

        }
    }
        public static int[] reverse(int[] array){ //方法:反转数组
            int[] result= new int[array.length];  //定义数组result,长度于输入数组相同
            for (int i = 0,j = array.length - 1; i < array.length; i++,j--) {
                result[j]=array[i]; //头尾交换
    
            }return result; //返回值为result数组,int[]
    
        }
    

    }
    多维数组
    多维是数组可以看作数组的数组,即数组的元素为数组。多维数组就是数组的嵌套。

    二维数组的定义

    int a[] [] = new int [3] [5];
    以上二位数组a可以看成一个三行五列的数组。

    package Array;

    public class Demon6 {
    public static void main(String[] args) {
    int[][] a = new int[3][5]; //多维数组
    int[][] b = {{1,2},{3,4},{45,5} }; //多维数组

    }
    

    }
    如何遍历二维数组中的元素

    int[][] b = {{1,2},{3,4},{45,5} }; //二维数组
    for (int i = 0; i < b.length; i++) { //遍历二维数组中的元素
    for(int j = 0; j< b[i].length;j++){
    System.out.println(b[i][j]);
    }

        }
  • 相关阅读:
    Ext架构分析(6)最简单的layout:AnchorLayout
    Ext架构分析(4)Container之旅
    ext学习资源汇总
    DomQuery v1.1 高级
    Ext 2.0 教程 目录
    HDOJ2006 ( 求奇数的乘积 ) 【水题】
    HDOJ2017 ( 字符串统计 ) 【水题】
    状态模式(State)
    HDOJ2002 ( 计算球体积 ) 【水题】
    HDOJ2007 ( 平方和与立方和 ) 【水题】
  • 原文地址:https://www.cnblogs.com/w2758472746/p/13943988.html
Copyright © 2011-2022 走看看