栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java数组

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java数组

数组的概念

概念:数组是相同类型的数据按顺序组成的一种引用数据类型

特点:

  1. 类型相同

  2. 长度固定

一维数组(数组) 数组的创建

以int类型为例

int[] i;
i=new int[5];
int[] j=new int[5];
int[] k=new int[]{1,2,3,4,5};
int[] l={1,2,3,4,5};

数组的组成

  • 数组中的每个数据格被称为“数组元素”。
  • 对每个元素进行赋值或取值的操作被称为“元素的访问”。
  • 访问元素时,需要使用“下标”(从0开始,依次+1,自动生成)。
  • 访问的语法:数组名[下标];//例如 存:a[0]=10;取:a[0];
数组的使用
public class TestCreateArray{
    public static void main(String[] args){
        int[] a=new int[5];//创建数组
        a[0]=5;
        a[1]=3;
        a[2]=4;
        a[3]=8;
        a[4]=9;//依次赋值
        System.out.println(a[0]);
        System.out.println(a[1]);
        System.out.println(a[2]);
        System.out.println(a[3]);
        System.out.println(a[4]);//依次取值
    }
}

运行结果:

5

3

4

8

9

数组的下标范围
public class TestCreateArray{
    public static void main(String[] args){
        int[] a=new int[5];//有效下标范围:0~数组长度-1
        a[0]=5;
        a[1]=3;
        a[2]=4;
        a[3]=8;
        a[4]=9;
        System.out.println(a[0]);
        System.out.println(a[1]);
        System.out.println(a[2]);
        System.out.println(a[3]);
        System.out.println(a[4]);
        System.out.println(a[5]);//访问无效下标,会导致数组下标越界
    }
}
数组的遍历

遍历:从头至尾,逐一对数组的每个元素进行访问

public class TestCreateArray{
    public static void main(String[] args){
        int[] a=new int[5];
        a[0]=5;
        a[1]=3;
        a[2]=4;
        a[3]=8;
        a[4]=9;
        for(int i=0;i 
增强型for循环遍历数组(foreach) 

设a为int数组,则

for(int i:a)等价 for(int i=0;i

这种遍历方式是foreach

例子:

public class TestCreateArray{
    public static void main(String[] args){
        int[] a=new int[5];
        a[0]=5;
        a[1]=3;
        a[2]=4;
        a[3]=8;
        a[4]=9;
        for(int i:a){//等价于 for(int i=0;i
            System.out.println(a[i]);//使用循环变量"i"充当下标逐一访问数组每个元素
        }
    }
}
冒泡排序

对一组整数按照由小到大的顺序进行排序。

public class TestCreateArray{
    public static void main(String[] args){
        int[] a=new int[5];
        a[0]=5;
        a[1]=3;
        a[2]=4;
        a[3]=8;
        a[4]=9;
        int temp;
        for(int i=0;ia[j+1]){
                //交换位置
                temp=a[j];
                a[j]=a[j+1];
                a[j+1]=temp;
               }
            }
        }
        //打印由小到大的数字
        for(int i:a){
            System.out.println(a[i]);
        }
    }
}
二维数组

概念:一维数组中的一维数组;数组中的元素,还是数组。

二维数组创建语法
  • 先声明,再分配空间:

    数据类型[][] 数组名;

    数组名=new 数据类型[高维长度][低维长度];

  • 先声明并分配空间

    数据类型[][] 数组名=new 数据类型[高维长度][低维长度];

  • 声明并赋值(繁):

    数据类型[][] 数组名=new 数据类型[高维长度][];//不规则数组,自行new低微数组

  • 声明并赋值(简):

    数据类型[][] 数组名={{v1,v2,v3},{v4,v5},{v6,v7,v8,v9}};//显示初始化

二维数组的赋值
public class Test2DArray{
    public static void main(String[] args){
        int[][] array=new int[3][5];
        array[0][0]=10;
        array[0][3]=20;
        array[1][1]=30;
        array[1][2]=40;
        array[2][4]=50;
        
    }
}
行号/列号01234
01000200
10304000
2000050
二维数组的访问
public class Test2DArray{
    public static void main(String[] args){
        int[][] array=new int[3][5];
        array[0][0]=10;
        array[0][3]=20;
        array[1][1]=30;
        array[1][2]=40;
        array[2][4]=50;
        for(int i=0;i 
数组的扩容 
  • 创建数组时,必须显式指定长度,并在创建之后不可更改长度。
  • 扩容思路:
    • 创建大于原数组长度的新数组。
    • 将原数组中的元素依次复制到新数组中。

  • 复制的方式
    • 循环将原数组中所有元素逐一赋值给新数组。
    • System.arraycopy(原数组,原数组起始,新数组,新数组起始,长度);
    • java.util.Arrays.copyOf(原数组,新长度);//返回带有原值的新数组。
地址的替换
  • 数组作为引用类型之一,其变量中存储的是数组的地址。
  • 完成元素复制后,需将新数组地址,赋值给原变量进行替换。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/292142.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号