JavaSE核心知识点01基础语法01-04(数组)

🤟致敬读者

  • 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉

📘博主相关


文章目录

  • JavaSE核心知识点01基础语法01-04(数组)
    • [1. 定义数组](#1. 定义数组)
      • [1.1 **声明数组**](#1.1 声明数组)
      • [1.2 **初始化数组**](#1.2 初始化数组)
    • [2. 使用数组](#2. 使用数组)
      • [2.1 **访问数组元素**](#2.1 访问数组元素)
      • [2.2 **修改数组元素**](#2.2 修改数组元素)
      • [2.3 **遍历数组**](#2.3 遍历数组)
    • [3. 注意事项](#3. 注意事项)

📃文章前言

  • 🔷文章均为学习工作中整理的笔记。
  • 🔶如有错误请指正,共同学习进步。

JavaSE核心知识点01基础语法01-04(数组)

在Java中,数组是一种基本的数据结构,用于存储固定大小的同类型元素序列。

数组一旦被创建,其大小就是固定的。

数组在Java中是通过类实现的,但你也可以直接使用数组类型。

下面是一些关于如何在Java中定义和使用数组的基本步骤和示例。

1. 定义数组

1.1 声明数组

首先,你需要声明一个数组变量。你可以在声明时指定数组的类型和名称。例如:

java 复制代码
// 声明一个整型数组
int[] numbers; 
// 声明一个字符串数组
String[] names; 

1.2 初始化数组

在声明数组后,你需要初始化它。有几种方式可以初始化数组:

静态初始化:在声明数组的同时指定初始值。

java 复制代码
// 静态初始化整型数组
int[] numbers = {1, 2, 3, 4, 5}; 
// 静态初始化字符串数组
String[] names = {"Alice", "Bob", "Charlie"}; 

动态初始化:先声明数组,然后指定大小,再逐个元素赋值。

java 复制代码
// 动态初始化整型数组,大小为5,初始值为0
int[] numbers = new int[5]; 
// 动态初始化字符串数组,大小为3,初始值为null
String[] names = new String[3]; 

2. 使用数组

2.1 访问数组元素

你可以通过索引(从0开始)来访问数组中的元素。例如:

java 复制代码
// 访问第一个元素
int firstNumber = numbers[0]; 
// 访问第一个元素
String firstName = names[0]; 

2.2 修改数组元素

你可以通过索引修改数组中的元素。例如:

java 复制代码
// 将第一个元素的值改为10
numbers[0] = 10; 
// 将第一个元素的值改为"David"
names[0] = "David"; 

2.3 遍历数组

你可以使用for循环来遍历数组中的所有元素。例如:

java 复制代码
for (int i = 0; i < numbers.length; i++) {
   // 打印每个元素的值
    System.out.println(numbers[i]); 
}

或者使用增强型for循环(也称为for-each循环):

java 复制代码
for (int number : numbers) {
   // 打印每个元素的值
    System.out.println(number); 
}

对于字符串数组:

java 复制代码
for (String name : names) {
   // 打印每个元素的值
    System.out.println(name); 
}

3. 注意事项

  • 越界访问:

    尝试访问数组不存在的索引(例如numbers[5]对于大小为5的数组)会导致ArrayIndexOutOfBoundsException。

  • 空引用:

    如果你声明了一个数组但没有初始化(例如String[] names;而没有names = new String[3];),尝试访问它将会导致NullPointerException。确保在使用前初始化数组。

  • 大小不可变:

    一旦创建,数组的大小就不能改变。如果你需要动态大小的数据结构,可以考虑使用ArrayList等集合框架类。

以上就是在Java中定义和使用数组的基本方法。通过这些步骤,你可以有效地在Java程序中处理和操作数据集合。


📜文末寄语

  • 🟠关注我,获取更多内容。
  • 🟡技术动态、实战教程、问题解决方案等内容持续更新中。
  • 🟢《全栈知识库》技术交流和分享社区,集结全栈各领域开发者,期待你的加入。
  • 🔵加入开发者的《专属社群》,分享交流,技术之路不再孤独,一起变强。
  • 🟣点击下方名片获取更多内容🍭🍭🍭👇

相关推荐
MyikJ34 分钟前
Java求职面试:从Spring到微服务的技术挑战
java·数据库·spring boot·spring cloud·微服务·orm·面试技巧
MyikJ37 分钟前
Java 面试实录:从Spring到微服务的技术探讨
java·spring boot·微服务·kafka·spring security·grafana·prometheus
ShiinaMashirol1 小时前
代码随想录打卡|Day50 图论(拓扑排序精讲 、dijkstra(朴素版)精讲 )
java·图论
moxiaoran57531 小时前
uni-app学习笔记十八--uni-app static目录简介
笔记·学习·uni-app
Studying 开龙wu1 小时前
机器学习有监督学习sklearn实战二:六种算法对鸢尾花(Iris)数据集进行分类和特征可视化
学习·算法·机器学习
cui_hao_nan1 小时前
Nacos实战——动态 IP 黑名单过滤
java
惜.己2 小时前
MySql(十一)
java·javascript·数据库
10000hours2 小时前
【存储基础】NUMA架构
java·开发语言·架构
伍六星2 小时前
动态拼接内容
java·jsp
Lester_11013 小时前
嵌入式学习笔记 - STM32 HAL库以及标准库内核以及外设头文件区别问题
笔记·stm32·单片机·学习