美文网首页
Java数组

Java数组

作者: Jason_M_Ho | 来源:发表于2017-12-02 11:52 被阅读0次

数组是一个变量,也是一种引用数据类型,存储的是相同数据类型的一组数据。Java会为数组在内存中分配一段连续的内存空间。

定义数组

有两种方式

数据类型[ ]  数组名 = new 数据类型[数组长度];  //Java推荐的写法
数据类型  数组名[ ] = new 数据类型[数组长度];  //传统C语言的写法

示例:

int[] socres = new int[3];
String cities[] = new String[6];

数组元素的表示与赋值

数组中每一个元素都有一个下标,用来表示此元素在数组中的位置,第一个元素的下标为0,依次递增,数组中的每个元素都可以通过下标来访问。
语法格式:

数组名[下标] = 值;

示例:

int[] scores = new int[3];
scores[0] = 60;
scores[1] = 80;
scores[2] = 90;

数组赋值的时候不能直接给数组赋值,只能给数组中的元素赋值。赋值只有两种方式,一种是通过下标赋值,一种是在定义的时候赋值

初始化数组

初始化就是在定义的数组的时候一并完成赋值操作
语法格式如下:

数据类型[ ]  数组名 = {值1,值2,值3,......,值n}; 
数据类型  数组名[ ] = new 数据类型[]{值1,值2,值3,......,值n};

示例:

int[] socres = {80,85,90,86,100};
int[] socres = new int[]{80,85,90,86,100};

遍历数组

  • 方法一:普通for循环遍历数组,通过数组元素的下标进行遍历访问

示例:

public class Demo {
    public static void main(String[] args) {
        int[] scores = {60,75,80,90,85,78};
        for(int i = 0; i < scores.length; i++){
            System.out.println("socres["+i+"] = "+scores[i]);
        }
    }
}
  • 方法二:增强for循环遍历数组,通过迭代器完成对数组元素的访问

增强for循环专门用来实现对数组和集合中的数据的访问
语法格式:

for(元素类型 变量名:数组名){......};

示例:

public class Demo {
    public static void main(String[] args) {
        int[] scores = {60,75,80,90,85,78};
        for(int i : scores){
            System.out.println("socres中的元素依次为"+i);
        }
    }
}

二维数组

二维数组实际上是一个一维数组,它的每个元素都是一个一维的数组。二维数组就是存放数组的数组。

  • 定义一个二维数组
int[][] socres = new int[3][30];
  • 初始化
int[][] scores = new int{{80,90,78,98,85},{79,89,87},{60}};
int[][] scores = {{80,90,78,98,85},{79,89,87},{60}};
  • 遍历二维数组
public class Demo {  
    public static void main(String[] args) {
        int[][] array = {{80,87,90,78},{85,88,95},{68,85,90}};
        for(int i = 0; i < array.length; i++){
            for(int j = 0; j < array[i].length; j++){
                System.out.print(array[i][j]+" ");  //循环输出每一个元素
            }
            System.out.println();
        }
    }
}

Arrays类

Arrays类是JDK提供的专门用于操作数组的工具类,此类提供了一系列的方法来操作数组,如:排序、复制、比较、填充等。这些方法都是静态方法,通过类名直接调用。
常用方法:

返回值类型 方法 说明
boolean equals(array1,array2) 比较两个数组是否相等
void sort(array) 对数组元素升序排列
String toString(array) 将一个数组转成一个字符串
void fill(array,val) 把数组中的所有元素都赋值成val
与array数据类型一致 copyOf(array,length) 把数组复制成一个长度为length的新数组
int binarySearch(array,val) 查询元素val在已经升序排列的数组中的下标位置

示例:

public class Demo {
    public static void main(String[] args) {
        int[] array1 = {80,87,90,78};
        int[] array2 = {80,87,90,78};
        int[] array3 = {80,87,90};
        
        System.out.println(Arrays.equals(array1, array2)); 
        System.out.println(Arrays.equals(array1, array3));
        
        Arrays.sort(array1);
        for(int m:array1){
            System.out.print(m+"\t");
        }
        
        Arrays.fill(array1, 60);
        
        System.out.println(Arrays.toString(array1));
        
        int[] array4 = Arrays.copyOf(array1, 8);
        System.out.println(Arrays.toString(array4));
        
        Arrays.sort(array2);
        System.out.println(Arrays.binarySearch(array2, 90));
    }
}

相关文章

  • 【骚全带你学Java---九、认识java数组】

    java中数组 数组是指一组数据的集合,数组中的每个数据称为元素。在Java中,数组也是Java对象。数组中的元素...

  • JAVA 基本功秘籍

    1. Java数组与内存控制一、Java数组初始化 Java数组是静态的,即当数组被初始化之后,该数组的长度是不可...

  • Java数组

    Java数组 1.声明数组 在java中声明数组有两种形式:数组元素类型名[] 数组名;数组元素类型名 数组名 [...

  • Java知识之数组

    Java数组知识图如下: 数组基本用法 声明数组声明数组语法格式: 初始化数组Java中使用关键字new创建数组对...

  • Java学校-String类/数组

    Java StringBuffer 和 StringBuilder 类 Java 数组 声明数组变量 明白这句话p...

  • 图解Java数组的内存分配

    1. Java数组是静态的 Java是静态语言,所以Java的数组也是静态的,即:数组被初始化后,长度不可变 静态...

  • Kotlin数组

    数组在Kotlin中使用Array类来表示。下面巴拉一下Kotlin数组和Java数组的区别。Java中的数组通常...

  • java 数组

    java数组:相同类型数据的有序集合 (数组元素的数据类型必须相同) 1. java 创建数组变量 数组中已有元素...

  • 面试题总结

    1、Java中能创建Volatile数组吗? 能,Java中可以创建volatile类型数组,不过只是一个指向数组...

  • scala 2.13.1 数组 和Java List互转

    Scala数组 转 Java List List 转 Scala数组

网友评论

      本文标题:Java数组

      本文链接:https://www.haomeiwen.com/subject/ocknbxtx.html