千家信息网

Java入门数组实例分析

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,今天小编给大家分享一下Java入门数组实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解
千家信息网最后更新 2026年11月03日Java入门数组实例分析

今天小编给大家分享一下Java入门数组实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

认识数组

数组的定义

数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们。

数组的四个基本特点

  • 长度是确定的。数组一旦被创建,它的大小就是不可以改变的。

  • 其元素的类型必须是相同类型,不允许出现混合类型。

  • 数组类型可以是任何数据类型,包括基本类型和引用类型。

  • 数组有索引的:索引从0开始,到 数组.length-1结束

  • 数组变量属于引用类型,数组也是对象。

PS:数组变量属于引用类型,数组也是对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中存储的。

数组下标从0开始

arr[0] == 12

arr[1] == 6

arr[2] == 27

…

arr[5] == 43

数组的初始化

数组的初始化方式总共有三种:默认初始化、静态初始化、动态初始化。

默认初始化

数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。

int[] arr = new int[3];  //数组有默认的初始化值

基本数据类型数组的默认值:

byte[] : 0

short[] : 0

cahr[] : ‘\u0000’

int[] : 0

long[] : 0

float[] : 0.0

double[] : 0.0

boolean[] : false

引用数据类型数组的默认值:null

静态初始化

除了用new关键字来产生数组以外,还可以直接在定义数组的同时就为数组元素分配空间并赋值。

int[] arr = {12,23,45};int[] arr = new int[]{12,23,45};

动态初始化

数组定义与为数组元素分配空间并赋值的操作分开进行。

int[] arr ;arr = new int[3]arr[0] = 12;arr[1] = 23;arr[2] = 45;

数组有关的问题

数组的遍历

两种方法

public class TestCode04 {    public static void main(String[] args) {        int[] arr1 = new int[]{1, 2, 3, 4, 5};        int[] arr2 = {5, 4, 3, 2, 1};        //方式1,使用普通for循环        //arr1.length获取数组长度的方法        for (int i = 0; i < arr1.length; i++) {            System.out.print(arr1[i] + " ");        }        System.out.println();        //方式2,使用增强for循环        for (int a : arr2) {            System.out.print(a + " ");        }    }}

求最值问题

问题:给定一个数组int[] arr = {3,5,6,17,26,9,0,7}; ,求出数组中最大的数

public class TestCode05 {    public static void main(String[] args) {        int[] arr={3,5,6,17,26,9,0,7};        int max=arr[0];//假设最大元素为数组arr[0]位置上的数        //然后依次向后比较        for(int i=1;imax){                max=arr[i];            }        }        System.out.println(max);    }}

查询子元素

查询指定位置元素

给定一个数组,查询索引位置为2上的元素

public class TestCode06 {    public static void main(String[] args) {        int[] arr={3,5,6,17,26,9,0,7};        //直接输出arr[2];        System.out.println(arr[2]);        //输出-->6    }}

上面代码体现了数组的一个优点:在按照位置查询的时候,直接一步到位,效率非常高

查询指定元素的位置–>找出元素对应的索引

public class TestCode07{    public static void main(String[] args){                //查询指定元素的位置-->找出元素对应的索引                 //给定一个数组:                int[] arr = {12,34,56,7,3,56};                //           0  1  2  3 4  5                              //功能:查询元素12对应的索引:                int index = -1; //这个初始值只要不是数组的索引即可                for(int i=0;i

Arrays工具类

为了方便我们对数组进行操作,系统提供一个类Arrays,我们将它当做工具类来使用。

下面通过代码演示Arrays类中常用的方法:

Arrays.toString(arr);//对数组进行遍历查看,返回的是一个字符串

Arrays.sort(arr);//对数组进行排序 -->升序

Arrays.copyOf(arr,index);//对数组的复制

Arrays.copyOfRange(arr,startindex,endindex);//区间复制

Arrays.equals(arr1,arr2);//比较两个数组的值是否一样

Arrays.fill(arr,1);//数组填充

import java.util.Arrays;public class TestCode08{        public static void main(String[] args){                //给定一个数组:                int[] arr = {1,3,7,2,4,8};                //toString:对数组进行遍历查看的,返回的是一个字符串                System.out.println(Arrays.toString(arr));                                //binarySearch:二分法查找:找出指定数组中的指定元素对应的索引:                //这个方法的使用前提:一定要查看的是一个有序的数组:                //sort:排序 -->升序                Arrays.sort(arr);                System.out.println(Arrays.toString(arr));                System.out.println(Arrays.binarySearch(arr,4));                                int[] arr2 = {1,3,7,2,4,8};                //copyOf:完成数组的复制:                int[] newArr = Arrays.copyOf(arr2,4);                System.out.println(Arrays.toString(newArr));                                //copyOfRange:区间复制:                int[] newArr2 = Arrays.copyOfRange(arr2,1,4);//[1,4)-->1,2,3位置                System.out.println(Arrays.toString(newArr2));                                //equals:比较两个数组的值是否一样:                int[] arr3 = {1,3,7,2,4,8};                int[] arr4 = {1,3,7,2,4,8};                System.out.println(Arrays.equals(arr3,arr4));//true                System.out.println(arr3==arr4);//false ==比较左右两侧的值是否相等,比较的是左右的地址值,返回结果一定是false                                //fill:数组的填充:                int[] arr5 = {1,3,7,2,4,8};                Arrays.fill(arr5,10);                System.out.println(Arrays.toString(arr5));        }}

二维数组

本质上全部都是一维数组

二维数组初始方式

  • 静态初始化

int[][] arr = {{1,2},{4,5,6},{4,5,6,7,8,9,9}};int[][] arr =new int[][] {{1,2},{4,5,6},{4,5,6,7,8,9,9}};
  • 动态初始化

int[][] arr = new int[3][]; //本质上定义了一维数组长度为3,每个"格子"中放入的是一个数组arr[0] = new int[]{1,2};arr[1] = new int[]{3,4,5,6};arr[2] = new int[]{34,45,56};
  • 默认初始化

数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。

int[][] arr=new int[3][3];//定义一个3*3的二维数组,默认值为0

二维数组的遍历

两个for循环

        for (int i = 0; i < arr.length; i++) {            for (int j = 0; i < arr[i].length; j++) {                System.out.print(arr[i][j] + " ");            }            System.out.println();//换行        }    }

以上就是"Java入门数组实例分析"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。

数组 元素 类型 索引 位置 变量 对象 查询 实例 方式 数据 方法 知识 空间 篇文章 二维 分配 循环 相同 两个 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东万易互联网科技有限公司惠州分公司 上海卓越科技互联网 互联网科技工作委员会主任 广州百单互联网科技有限公司 科技平台互联网 互联网科技未来 互联网科技金融 期待互联网科技 万易互联网科技有限公司 欧洲十大科技互联网公司 银川新华互联网科技职业技术培训学校图片 互联网科技项目计划书材料类 互联网金融中的现代科技 千方科技属于互联网企业吗 坤平互联网科技 明优互联网科技有限公司 济南小医互联网科技有限公司招聘 世界互联网科技成果奖 云南互联网科技学费 互联网科技创业有什么好项目 哈尔滨大商圈互联网科技有限公司 江苏根荣互联网科技 齐家互联网科技 互联网养老 桔豆科技 四个字互联网科技公司取名 996高科技互联网公司 四川慕妮娅互联网科技有限公司 广州有谷有贝互联网科技有限公司 银川新华互联网科技学校是国营吗 山东蛋芒互联网科技有限公司
0