Java数组基础与操作实例
数组基本概念
数组是一种线性数据结构,用于在连续内存空间中存储相同类型的数据集合。
核心特性
- 所有元素必须是同一数据类型
- 数组大小在创建时确定且不可更改
- 通过索引访问元素,索引从0开始递增
数组操作语法
// 元素赋值
arrayName[index] = value;
// 元素取值
value = arrayName[index];
数组初始化方式
方法一:分步声明
int[] arr;
arr = new int[5];
方法二:声明同时分配空间
int[] arr = new int[5];
方法三:静态初始化完整写法
int[] arr = new int[]{10, 20, 30};
方法四:静态初始化简化写法
int[] arr = {10, 20, 30};
数组元素默认值
| 数据类型 | 默认值 |
| 整型 | 0 |
| 浮点型 | 0.0 |
| 字符型 | '\u0000' |
| 布尔型 | false |
| 引用类型 | null |
实用示例
示例1:数组遍历与输出
public class ArrayTraversal {
public static void main(String[] args) {
int[] data = {15, 25, 35, 45, 55};
// 传统for循环遍历
for (int i = 0; i < data.length; i++) {
System.out.println("元素[" + i + "] = " + data[i]);
}
}
}
示例2:计算数组平均值
public class AverageCalculator {
public static void main(String[] args) {
double[] scores = {85.5, 92.0, 78.5, 96.0, 88.5};
double total = 0;
for (int pos = 0; pos < scores.length; pos++) {
total += scores[pos];
}
double mean = total / scores.length;
System.out.printf("平均分: %.2f%n", mean);
}
}
示例3:元素搜索功能
import java.util.Scanner;
public class ElementFinder {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int[] values = {10, 20, 30, 40, 50};
System.out.print("输入要查找的数值: ");
int target = scanner.nextInt();
int position = -1;
for (int idx = 0; idx < values.length; idx++) {
if (values[idx] == target) {
position = idx;
break;
}
}
if (position != -1) {
System.out.println("找到目标值,位置: " + position);
} else {
System.out.println("未找到该值");
}
}
}
示例4:数组排序处理
import java.util.Arrays;
public class ArraySorting {
public static void main(String[] args) {
int[] sequence = {64, 34, 25, 12, 22, 11, 90};
// 升序排列
Arrays.sort(sequence);
System.out.println("升序结果:");
displayArray(sequence);
// 转换为降序
reverseArray(sequence);
System.out.println("降序结果:");
displayArray(sequence);
}
private static void reverseArray(int[] arr) {
int left = 0;
int right = arr.length - 1;
while (left < right) {
int temp = arr[left];
arr[left] = arr[right];
arr[right] = temp;
left++;
right--;
}
}
private static void displayArray(int[] arr) {
for (int val : arr) {
System.out.print(val + " ");
}
System.out.println();
}
}