当前位置: 首页 > news >正文

Java:数组

文章目录

  • 一、概念
  • 二、声明数组
    • 2.1 格式
    • 2.2 实例
  • 三、初始化数组
    • 3.1 格式
    • 3.2 实例
  • 四、处理数组
    • 4.1 for循环
    • 4.2 增强for循环
  • 五、多维数组
    • 5.1 格式
    • 5.2 实例

一、概念

数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。

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

你可以声明一个数组变量,如 numbers[100] 来代替直接声明 100 个独立变量 number0,number1,…,number99。

本教程将为大家介绍 Java 数组的声明、创建和初始化,并给出其对应的代码。


二、声明数组

首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:

2.1 格式

dataType[] arrayRefVar;   // 首选的方法或dataType arrayRefVar[];  // 效果相同,但不是首选方法

注意: 建议使用 dataType[] arrayRefVar 的声明风格声明数组变量。 dataType arrayRefVar[] 风格是来自 C/C++ 语言 ,在Java中采用是为了让 C/C++ 程序员能够快速理解java语言。

2.2 实例

int[] myList;         // 首选的方法int myList[];         //  效果相同,但不是首选方法

三、初始化数组

Java语言使用new关键字来初始化数组,数组有两种初始化方式,一种是静态初始化,一种是动态初始化

3.1 格式

// 动态初始化,数组初始值是创建数组用的数据类型的默认值
dataType[] arrayRefVar = new dataType[arraySize];// 静态初始化,由我们为每一个数组元素设置初始值
dataType[] arrayRefVar = new int[]{value0, value1, ..., valuek}; // 完整格式
dataType[] arrayRefVar = {value0, value1, ..., valuek}; // 简写

上面的语法语句做了两件事:

一、使用 dataType[arraySize] 创建了一个数组。
二、把新创建的数组的地址值赋值给了变量 arrayRefVar。

3.2 实例

public class Main {public static void main(String[] args) {// 1、初始化整数数组,长度为5int[] arr = new int[5];// 2、给数组赋值arr[0] = 1;arr[1] = 2;arr[2] = 3;arr[3] = 4;arr[4] = 5;// 3、定义一个临时变量,求数组的和int sum = 0;for (int i = 0; i < arr.length; i++) {sum += arr[i];}// 4、打印结果System.out.println("sum:" + sum);}
}

运行结果:

sum:15

四、处理数组

数组的元素类型和数组的大小都是确定的,所以当处理数组元素时候,我们通常使用for循环或者增强for循环。

4.1 for循环

使用for循环来访问数组元素,需要通过下标来访问,适合一些复杂的操作,如:交换元素,判断大小值...

public class Main {public static void main(String[] args) {// 1、初始化数组int[] arr = new int[]{1, 2, 3};// 2、打印数组for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + " ");}}
}

4.2 增强for循环

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

public class Main {public static void main(String[] args) {// 1、初始化数组int[] arr = new int[]{1, 2, 3};// 2、打印数组for (int num : arr) {System.out.print(num + " ");}}
}

五、多维数组

多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组

5.1 格式

// 动态初始化,数组初始值是创建数组用的数据类型的默认值
dataType[][] arrayRefVar = new dataType[arraySize][arraySize];// 静态初始化,由我们为每一个数组元素设置初始值
dataType[] arrayRefVar = new int[][]{{value0, value1, ..., valuek},{value0, value1, ..., valuek}}; // 完整格式
dataType[] arrayRefVar = {{value0, value1, ..., valuek},{value0, value1, ..., valuek}}; // 简写

5.2 实例

看到这可能会有点懵,建议将这段代码复制下来自己运行,步步分解代码,如果有问题的同学,可以在评论区中留言

public class Main {public static void main(String[] args) {// 动态初始化
//        int[][] arr = new int[3][3];// 初始化二维数组int[][] arr = new int[][]{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};// 打印二维数组的元素for (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr[i].length; j++) {System.out.print(arr[i][j] + " ");}}}
}

http://www.lryc.cn/news/392880.html

相关文章:

  • 【代码随想录——图论——岛屿问题】
  • 异步调用 - 初识
  • Java 家庭物联网
  • 机器学习——随机森林
  • Java - JDK17语法新增特性(如果想知道Java - JDK17语法新增常见的特性的知识点,那么只看这一篇就足够了!)
  • Linux-DNS
  • 使用gitlab的CI/CD实现logseq笔记自动发布为单页应用
  • 云联壹云 FinOps:赋能某车企公有云成本管理与精细化运营
  • C#静态类与非静态类
  • 亚信安全:《2024云安全技术发展白皮书》
  • GuLi商城-商品服务-API-品牌管理-云存储开通与使用
  • git 命令行初始化并上传项目
  • Spring框架Mvc(2)
  • Python学习笔记29:进阶篇(十八)常见标准库使用之质量控制中的数据清洗
  • 【LLM】一、利用ollama本地部署大模型
  • Java毕业设计 基于SSM vue新生报到系统小程序 微信小程序
  • 玩转云服务:Oracle Cloud甲骨文永久免费云服务器注册及配置指南
  • Zabbix——宏
  • Unity 简单载具路线 Waypoint 导航
  • 科普文:微服务之服务网格Service Mesh
  • 第四十九章 解决 IRIS 中的 SOAP 问题 - 发送消息时出现问题
  • STM32-HAL-FATFS(文件系统)(没做完,stm32f103zet6(有大佬的可以在评论区说一下次板子为什么挂载失败了))
  • 线性代数基础概念:矩阵
  • 【优化论】约束优化算法
  • 7寸微型FPV无人机技术详解
  • 大数据面试题之Presto[Trino](2)
  • STM32和DHT11使用显示温湿度度(代码理解)+单总线协议
  • EVM-MLIR:以MLIR编写的EVM
  • 深入Django(八)
  • 华为开发者大会2024纪要:鸿蒙OS的全新篇章与AI大模型的革命