zoukankan      html  css  js  c++  java
  • Java数组

    Java数组

    Java语言中提供的数组是用来存储固定大小的同类型元素。


    声明数组变量

    datatype [] arrayRefVal;//首选的方法
    或者
    datatype arrayRefVal[];//效果相同,但不是首选方法
    

    创建数组

    Java语言使用new操作符来创建数组,语法如下:

    dataType[] arrayRefVar=new dataType[arraySize];
    或者
    dataType[] arrayRefVal={value0,value1,...,valuek};
    

    数组的元素是通过索引访问的。数组索引从0开始,所以索引值从0到arrayRefVar.length-1.

    下面的图片描绘了数组myList。这里myList数组里有10个double元素,它的下标从0到9。


    处理数组

    数组的元素类型和数组的大小都是确定的,所以当处理数组元素时候,我们通常使用基本循环或者 For-Each循环

    实例:

    public class TestArray{
    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 total=0;
    for(int i=0;i<myList.length;i++){
    total+=myList[I];
    }
    System.out.println("Total is "+total);
    //查找最大元素
    double max=myList[0];
    for(int i=1;i<myList.lenth;i++){
    if(myList[I]>max) max=myList[I];
    }
    System.out.println("Max is "+max);
    }
    }
    

    For-Each循环  

    JDK 1.5引进了一种新的循环类型,被称为For-Each循环或者加强型循环,它能在不使用下标的情况下遍历数组。

    语法格式如下:

    for(type element:array){
    System.out.println(element);
    }
    

    For-Each循环仅仅用来打印所有的数组元素???


    数组作为函数的参数

    数组可以作为参数传递给方法。

    public static void printArray(int[] array){
    for(int i=0;i<array.length;i++){
    System.out.print(array[i]+" ");
    }
    }
    printArray(new int[]{3,1,2,5,3});
    

    数组作为函数的返回值

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

    以上实例中result数组作为函数的返回值。


     多维数组

    多维数组可以看成是数组的数组。

    String str[][]=new String[3] [4];
    

    二维数组str可以看成一个三行四列的数组。  

    二位数组必须知道第二维???


    Arrays类

    Java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。

    具有以下功能:

    • 给数组赋值:通过fill方法。
    • 对数组排序:通过sort方法,按升序。
    • 比较数组:通过equals方法比较数组中元素值是否相等。
    • 查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法操作。

    具体说明请看下表:


    什么他妈的叫他妈的惊喜!
  • 相关阅读:
    poj 3528 (三维几何求凸包+凸包表面积)
    dijkstra模板(好像是斐波那契额堆优化,但我为什么看起来像优先队列优化,和spfa一样)
    最大空凸包模板
    ICPC 2017–2018, NEERC, Northern Subregional Contest St Petersburg, November 4, 2017 I题
    hdu 5248 序列变换
    hdu 2063(二分图模板测试)
    组合数
    85. Maximal Rectangle 由1拼出的最大矩形
    750. Number Of Corner Rectangles四周是点的矩形个数
    801. Minimum Swaps To Make Sequences Increasing 为使两个数组严格递增,所需要的最小交换次数
  • 原文地址:https://www.cnblogs.com/2020yl/p/12243965.html
Copyright © 2011-2022 走看看