• Java数组


    数组的声明、创建、初始化

    声明数组变量

    daouble[] myList;
    /*首选这个dataType[] arrayRefvar,这个写法风格来自C/C++语言,在Java这么写主要是让C/C++程序员快速理解Java*/
    
    
    double myList[];//dataType[] arrayRefvar[]的写法与上面的效果是一样的

    创建数组(使用new操作符)

    arrayRefvar = new dataType[arraySize];
    /*1.使用dataType[arraySize]创建一个数组;2.将创建的taType[arraySize]数组赋值给arrayRefvar ;*/

    声明和创建数组

    dataType[] arrayRefVar = new dataType[arraySize];
    dataType[] arrayRefVar ={value0,value1,...,valuen};/*数组通过索引访问,索引值从0到arrayRefVar.length-1*/

    实例:

    public class Test{
        public static void main(String[] args){
            int size = 5;//数组大小
            double[] myList = new double[size];//定义数组
            myList[0] = 5.6;
            myList[1] = 4.5;
            myList[2] = 5.5;
            myList[3] = 4.4;
            myList[4] = 1.1;
            
            // 计算数组的和
            double total = 0;
            for(int i=0;i<size;i++){
                total +=myList[i];
            }
            System.out.println("数组和为:"+total);
        }
    }

    运行结果

    数组和为:21.1

    处理数组

    数组的元素类型和大小是确定的,常用基本循环或者For-Each循环

    实例

    public class Test{
        public static void main(String[] args){
            double[] myList = {1.9,2.9,3.4,3.5};
            
            //打印数组所有元素
            for(int i=0;i<myList.length;i++){
                System.out.println(myList[i]);
            }
            
            //计算数组所有值的和
            double dou=0;
             for(int i=0;i<myList.length;i++){
                dou +=myList[i];
            }
             System.out.println("和:"+dou);
    
            //找出数组里的最大值
            double max=myList[0];
             for(int i=1;i<myList.length;i++){
                if(myList[i]>max){
                    max = myList[i];
                }
                System.out.println("最大值:"+max);
            }
    }

    运行结果

    1.9
    2.9
    3.4
    3.5
    和:11.7
    最大值:3.5

    使用For-Each循环(遍历数组)

    for(type element:array){
        System.out.println(element);
    }//语法格式

    实例

    public class Test{
        public static void main(String[] args){
            double[] myList = {1.9,2.9,3.4,3.5};
            //打印所有数组
            for(ouuble element:myList){
                System.out.println(element);
            }
        }
    }

    运行结果

    1.9
    2.9
    3.4
    3.5

    ————————————————————————

    数组作为函数的参数

    public static void printArray(int[] array){
        for(int i=0;i<array.length;i++){
            System.out.println(array[i]);
        }
    }
    
    //调用printArray方法打印出数组
    printArray(new int[]{1,2,3,4,5});

    _________________

    数组作为函数的返回值

    public static int[] reverse(int[] list){
        int[] result = new int[list.length];
    
        for(int i=0,j=result.length-1;i<result.length;i++,j--){
            result[j]=list[i];
        }
        return result;
    }

    ________________________

    多维数组(以二维数组为例)

    String str[][] = new String[3][2];
    /*格式type[][] typeName = new type[typeLength1][typeLength2];
    type可以是基本数据类型和符合数据类型,typeLength1、typeLength2必须是正整数,
    typeLength1是行数,typeLength2是列数
    */

    引用

    arrayName[index1][index2];

    ______________________

    Array类

    java.util.Arrays类提供的所有方法是静态的,可以

    1.给数组赋值:通过fill方法

    2.对数组排序:通过sort方法,升序

    3.比较数组:通过equals方法比较数组元素值是否相等

    4.查找数组元素:通过binarySearch 方法能对排序好的数组进行二分法查找

    方法和说明:

    1.public static int binarySearch(Objecct[] a,Object key)

    用二分法查找算法在给定数组中搜索给定值的对象(Byte,Int,double等)。数组在调用前必须排序好,如果查找值包含在数组中,则返回索引键的索引,否则返回(-(插入点)-1).

    2.public static boolean equals(long[] a,long[] a2)

    如果两个指定的long型数组相等,则返回true。

    如果两个数组包含相同数量的元素,并且两个数组中的所有相应元素对都是相等的,则认为这两个数组相等。也就是说,如果两个数组以相同顺序包含相同元素,则两个数组相等。(Byte,short,Int亦然)

    3.public static void fill(int[] a,int val)

    将指定的int值分配给指定的int型数组指定范围中的每个元素,同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)

    4.public sstatic void sort(Object[] a)

    对指定对象数组根据其元素的自然顺序进行升序排列,同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)

  • 相关阅读:
    【CSDN博客之星评选】我为什么坚持写博客
    关于纯css布局的概况
    IIS服务器下301跳转是怎么样实现的?
    如何使用数据库保存session的方法简介
    PHP如何通过SQL语句将数据写入MySQL数据库呢?
    PHP中文函数顺序排列一数组且其序数不变
    angular实时显示checkbox被选中的元素
    oracle查询正在执行的语句以及正被锁的对象
    angular中ng-repeat去重
    接口自动化测试框架--http请求的get、post方法的实现
  • 原文地址:https://www.cnblogs.com/jaci/p/11444432.html
Copyright © 2020-2023  润新知