importjava.util.Scannerpublicclass hello{publicstaticvoidmain(String[] args){Scanner input =newScanner(System.in);int[] a =newint[5];for(int i =0; i < a.length; i++){a[i]= input.nextInt();}for(int i =0; i < a.length; i++){System.out.print(a[i]+" ");}}}
int[] a ={1,2,3};int[] b =newint[a.length];for(int i =0; i < a.length; i++){b[i]= a[i];}b[0]=10;System.out.print("a数组的值:");for(int i =0; i < a.length; i++){System.out.print(a[i]+" ");}System.out.println("");System.out.print("b数组的值:");for(int i =0; i < b.length; i++){System.out.print(b[i]+" ");}// 输出结果// a数组的值:1 2 3// b数组的值:10 2 3
int[] a ={1,2,3};for(int i =0; i < a.length/2; i++){int temp = a[i];a[i]= a[a.length-1-i];a[a.length-1-i]= temp;}for(int i =0; i < a.length; i++){System.out.print(a[i]+" ");}//输出: 3 2 1
方法二:逆序赋值
注意 Java 中的垃圾回收机制
int[] a ={1,2,3};int[] b =newint[a.length];for(int i = a.length-1,j =0; i >=0; i--,j++){b[j]= a[i];}
a = b;//让 a 指向 bfor(int i =0; i < b.length; i++){System.out.print(b[i]+" ");}System.out.println("");for(int i =0; i < a.length; i++){System.out.print(a[i]+" ");}//原先 a 所指的空间没有变量引用,就会被当作垃圾处理,回收//现在 a b 都是指向同一空间,输出的结果一样