Java——数组(概念理解+应用举例)

一、数组是什么

1.数组的定义

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

2.数组的声明和创建

  • 首先数组必须声明数组变量,才能对数组进行使用。
    dataType[] datatype;
  • 使用new操作符进行数组的创建
    dataType[] datatype=new dataType[ArraySize];
  • 数组长度:
    array.length()

数组元素是通过索引进行访问的,索引是从0开始的

3.三种初始化和内存分析

  • 静态初始化
    int[] array={1,2,3,4};
  • 动态初始化:包含默认初始化
int[] array=new int[10]; array[0]=1; array[1]=2; ... array[9]=10;

数组的四个基本特点

  • 长度是确定的,数组一旦被创建,大小就不可改变。
  • 其元素必须是相同类型的,一个数组只能有一个类型的元素。
  • 数组元素可以是任何类型,包括基本类型和引用类型,即数组元素可以是数字、字符等,也可以是对象,引用变量。
  • 数组变量是引用类型,数组也是一个对象,其每个元素相当于对象的成员变量,所有数组是在堆空间中。

数组边界:
下标的合法区间是:[0,length-1] , 如果超过这个边界就会报错。

总结

  • 数组是相同数据类型的有序集合。
  • 数组是一个对象。
  • 数组索引不能超过其边界,否则会报错。

二、数组的作用

1.对数组元素的操作

  • 普通for循环
  • for-each循环
  • 数组作为方法入参
  • 数组作为返回值
public class ArrayDemo { public static void main(string[] args) { int[] arrays = {1, 2, 3, 4, 5}; //打印全部的数组元素 for (int i = 0; i < arrays.length; i++) { System.out.println(arrays[i]); } System.out.println("==========") 3//计算所有元素的和 int sum = 0; for (int i = 0; i < arrays.length; i++) { sum += arrays[i]; } System.out.println("sum=" + sum); System.out.println("==========") _//查找最大元素 int max = arrays[0]; for (int i = 1; i < arrays.length; i++) { if (arrays[i] > max) { max = arrays[i]; } System.out.println("max=" + max); } } }

多维数组:相当于数组嵌套数组
image

2.Arrays类

  • 数组的工具类 java.util.Arrays
  • 由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本的操作。
  • 查看JDK帮助文档
  • Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而不用"使用对象来调用(注意:是"不用"而不是"不能")

具有以下常用功能:

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

__EOF__

本文作者Aστερτ
本文链接https://www.cnblogs.com/xiaowangaixuexi/p/16904801.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Aστερτ  阅读(417)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示