付若轩《软件工程》Java语言实验报告:数组操作与变量区别

需积分: 0 0 下载量 58 浏览量 更新于2024-08-04 收藏 596KB DOCX 举报
在2019年的秋季学期,付若轩(学生编号:222019321062060)作为软件工程专业的学生,在计算机与信息科学学院学习Java语言课程。该学期的第一周至第十八周,课程由王小萌老师授课,期间进行了一系列的实验项目。其中,实验Exp3Array是教学的重要组成部分。 实验项目涉及到数组这一重要的Java语言概念,数组在编程中是一个关键的数据结构,它是一组具有相同数据类型的变量集合。与基本数据类型变量不同,数组变量存储的是一个连续的内存空间,每个元素都有自己的地址。当我们声明一个数组时,实际上是创建了一个指向这个内存空间的引用。因此,当执行像"arr2 = arr1"这样的赋值语句时,实际上只是复制了数组的引用,而不是复制了整个数组的内容。这意味着对arr2的修改会影响到arr1,因为它们指向同一块内存。 为了避免这种行为,Java中的数组复制通常需要使用循环遍历数组,逐个复制每个元素,例如通过`arr2 = new Array[arr1.length]; for (int i = 0; i < arr1.length; i++) { arr2[i] = arr1[i]; }`来完成深拷贝。这体现了Java中的对象复制和引用复制的区别,以及数组操作中的重要细节。 实验Exp3Array可能涉及数组的操作、遍历、排序、查找等基础知识,以及更深入的数组特性和优化技巧。付若轩在此次实验中可能学习了如何正确处理数组,包括如何处理动态大小的数组、多维数组,以及如何使用数组实现算法,如搜索、排序算法等。此外,实验还可能要求他验证或设计关于数组性能、内存管理和并发访问的问题,这些都是软件工程师在日常工作中不可或缺的技能。 通过这次实验,付若轩不仅加深了对Java语言中数组概念的理解,还锻炼了解决实际问题的能力,为未来在软件开发中高效使用数组和其他数据结构打下了坚实的基础。同时,这次项目的完成也反映了他在学习过程中对理论知识的应用和实践能力的提升。