java一维数组
1.通过数组名进行赋值,其实质是引用
比如数组array1和数组array2
若执行array2=array1,实际上将array1的引用传递给array2,array1和array2 最后都指向同一个数组,array2原来引用的数组被回收。
例如:
int [] array1={1,2,3}; int [] array2=new int[10]; array2=array1; for(int i=0;i<array2.length;i++) { System.out.println(array2[i]); array2[i]=i+9; } for(int i=0;i<array1.length;i++) { System.out.println(array1[i]); }
在第一个循环中,修改array2的元素值,在第二个循环中输出的array1的值也会有相应的变化,说明array1和array2指向同一数组。
2.复制数组的方法
a.通过循环逐个复制数组中的元素
b.使用System类中静态方法arraycopy(注意arraycopy违反命名习惯)
System.arraycopy(src, srcPos, dest, destPos, length);
3.匿名数组
new elementType [] {value0,value1,value2....}
比如new int [] {1,2,3,5};
4.另类for循环
for(elementsType variable :array)
{
System.out.print(variable);
}
5.数组参数传递与返回
package study; public class array { public static void main(String[] args) { // TODO Auto-generated method stub int [] array1={2,3}; System.out.print("before swap\n"); for(int i :array1) { System.out.println(i); } swap(array1); System.out.print("after swap\n"); for(int i :array1) { System.out.println(i); } int [] result =reverse(new int[]{1,2,3,4,5,6,7}); //anonymous array System.out.print("after reverse\n"); for(int i :result) { System.out.println(i); } } public static void swap(int [] array) { int temp=array[0]; array[0]=array[1]; array[1]=temp; } public static int [] reverse (int [] array) { for(int i=0;i<=(array.length-1)/2;i++) { int temp = array[i]; array[i]=array[array.length-1-i]; array[array.length-1-i]=temp; } return array; } }
对于数组类型参数,参数值是数组的引用
转载请注明出处:http://www.cnblogs.com/tobecrazy/

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义