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程序中处理和操作数据集合。


📜文末寄语

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

相关推荐
hzj612 分钟前
Sentinel学习
分布式·学习·sentinel
苹果酱056713 分钟前
【Azure Redis】Redis导入备份文件(RDB)失败的原因
java·vue.js·spring boot·mysql·课程设计
每次的天空15 分钟前
Android第六次面试总结之Java设计模式(二)
android·java·面试
JAVA百练成神1 小时前
Java引用RabbitMQ快速入门
java·rabbitmq·java-rabbitmq
元亓亓亓1 小时前
Java后端开发day42--IO流(二)--字符集&字符流
java·开发语言
独行soc2 小时前
2025年渗透测试面试题总结-某战队红队实习面经(附回答)(题目+回答)
linux·运维·服务器·学习·面试·职场和发展·渗透测试
一刀到底2112 小时前
idea内存过低 设置 Maximum Heap Size 终极解决方案
java·ide·intellij-idea
奋斗者1号2 小时前
神经网络:节点、隐藏层与非线性学习
网络·神经网络·学习
振鹏Dong3 小时前
Java基础问题——八股盛宴 | 3w字分享
java
JH30733 小时前
【SpringBoot】SpringBoot中使用AOP实现日志记录功能
java·spring boot·后端