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

可以做录音兼职的网站赫章县网站建设

可以做录音兼职的网站,赫章县网站建设,杭州网络公司网站,小程序和app引言:为什么需要数组? 在编程中,我们常需存储同一类型的批量数据(如30天的销售额、100名学生的成绩)。若用独立变量(day1, day2, ... day30),代码将臃肿且难以维护。数组&#xff08…

引言:为什么需要数组?

在编程中,我们常需存储同一类型的批量数据(如30天的销售额、100名学生的成绩)。若用独立变量(day1, day2, ... day30),代码将臃肿且难以维护。数组(Array)通过单一变量名+索引高效管理同类数据,是Java核心数据结构之一。


一、一维数组:存储线性数据

1. 声明与初始化

数组在Java中是对象,需先声明再分配内存:

// 方法1:声明后初始化  
int[] sales;  
sales = new int[12]; // 12个月的销售额  // 方法2:声明时初始化  
double[] temperatures = new double[365]; // 365天的温度  // 方法3:直接赋值初始化  
String[] weekdays = {"Mon", "Tue", "Wed", "Thu", "Fri"};  

2. 内存分配原理

数组元素在内存中连续存储,通过基地址+偏移量访问:

内存示例:  
地址 | 1000 | 1004 | 1008 | 1012  
元素 | sales[0] | sales[1] | sales[2] | ...  

访问sales[2] = 基地址(1000) + 2×4字节(int大小) = 1008

3. 关键特性

  • 长度固定:通过length属性获取(sales.length返回12)
  • 索引从0开始:有效范围[0, length-1]
  • 支持匿名数组printArray(new int[]{1, 2, 3});

img


二、多维数组:管理矩阵数据

1. 二维数组声明

// 声明3名学生×4科目的成绩  
int[][] marks = new int[3][4];  // 直接初始化  
int[][] matrix = {  {1, 2, 3},  {4, 5, 6},  {7, 8, 9}  
};  

2. 内存模型

二维数组本质是数组的数组

marks[0][科目1分数, 科目2分数, ...]  
marks[1][科目1分数, 科目2分数, ...]  

img

3. 遍历与长度获取

for (int i = 0; i < marks.length; i++) {        // 行数:marks.length  for (int j = 0; j < marks[i].length; j++) { // 列数:marks[i].length  System.out.print(marks[i][j] + "\t");  }  System.out.println();  
}  

三、数组实战:排序算法

选择排序(Selection Sort)

核心思想:每轮从未排序部分选最小值,交换到已排序末尾。

伪代码:

for i from 0 to array.length-1:  minIndex = i  for j from i+1 to array.length-1:  if array[j] < array[minIndex]:  minIndex = j  swap array[i] and array[minIndex]  

排序过程图解:

image-20250726180742592

img


四、高级特性

存储任意类型

Object[] mixedData = {"Text", 42, 3.14}; // 支持对象和基本类型

匿名数组应用

calculateSum(new int[]{10, 20, 30}); // 无需单独声明

长度不可变

数组一旦创建,大小固定。需调整大小时,需新建数组并复制数据:

int[] newArray = Arrays.copyOf(original, newSize); 

五、常见误区与最佳实践

越界访问

`arr[arr.length]` 会抛出`ArrayIndexOutOfBoundsException`

空指针风险

int[] arr = null;  
System.out.println(arr[0]); // NullPointerException

遍历推荐

使用增强for循环简化代码:

for (int score : scores) {  total += score;  
}  

结语

数组作为Java数据结构的基石,高效处理批量数据。掌握其内存模型多维结构排序算法,能显著提升代码质量。后续可结合ArrayList等集合框架,灵活应对动态数据需求。。

http://www.dtcms.com/a/501594.html

相关文章:

  • 绍兴网站定制公司龙华网站建设推广外包
  • 鞍山在百度做个网站多少钱网站开发 前端vue 后端c
  • wordpress 结构杭州seo技术
  • 禅城南庄网站制作小公司做网站需要注意什么问题
  • 苏州高端网站制作重庆seo优化公司哪家好
  • 想开个网站建设的公司大网站
  • 保险网站推荐手机网站开源模板
  • 动易网站做值班表哈尔滨 门户网站
  • 天津做胎儿鉴定网站网站如何做容易收录
  • 西安知名网站建设通州网站开发
  • 做的好的公司网站信息流广告投放流程
  • 做网站制作公司常州想做个企业的网站找谁做
  • 网站制作方案相信乐云seo高端品牌网站
  • 新手做网站看什么书深圳搬家公司哪家好
  • 盗版小说网站怎么做自己弄个网站要多少钱
  • 用html能做企业网站吗揭阳市php网站开发找工作
  • 制作一个网站夜场酒吧娱乐ktv类企业网站源码
  • 哪个公司做网站好 知乎素材设计做的好的网站有哪些
  • 郑州哪有做网站的公司郑州百度seo
  • 佛山 网站我做钓鱼网站自首了
  • 企业网站策划建设方案百度能打开任何网站浏览器下载
  • wordpress 编辑器插件中山网站推广优化
  • 网站开发用例说明江苏省城乡建筑信息网
  • 企业网站管理系统破解版餐饮公司网站建设策划书
  • 自己做网站犯法吗程序员做音乐网站
  • 网站效果图确认表h5网站开发
  • c2c电商网站有哪些广陵区建设局网站
  • 教育培训机构招生网站建设网站设计学习
  • 服装商城的网站策划书东莞网站制作公司怎么选择
  • 关于python项目虚拟环境创建和管理的汇总