数组.length得到数组的长度。
- 使用方式一:
例子
- 使用方式二
例子
-
使用方式3
-
数组中元素的访问。
必须使用循环才能访问数组中的元素。
2.
引用拷贝是拷贝地址,而并非独立的值。二者相辅相成,牵一发而动全身。
值拷贝是拷贝独立的值。
//将 int[] arr1 = {10,20,30}; 拷贝到 arr2数组,
//要求数据空间是独立的.
int[] arr1 = {10,20,30};
//创建一个新的数组arr2,开辟新的数据空间
//大小 arr1.length;
int[] arr2 = new int[arr1.length];
//遍历 arr1 ,把每个元素拷贝到arr2对应的元素位置
for(int i = 0; i < arr1.length; i++) {
arr2[i] = arr1[i];
}
//老师修改 arr2, 不会对arr1有影响.
arr2[0] = 100;
数组翻转
方法一:
PS:6个元素是交换三次;7个元素也是交换三次(中间的元素不交换,即不动。)
方法二:
array1原来指向的数组没有任何东西指向它,它就会被销毁。
public class A3{
public static void main(String[] args){
int [] array1 = {1,2,3,4,5,6,7};
int [] array2 = new int [array1.length+1];
array2[array2.length-1] = 8;
for(int i = 0;i < array1.length;i++){
array2[i] = array1[i];
}
array1 = array2;
for(int i = 0;i
改进版,加入了用户提问是否还需要继续添加元素机制:
import java.util.Scanner;
public class A3{
public static void main(String[] args){
Scanner MyScanner = new Scanner(System.in);
int [] array1 = {1,2,3,4,5,6,7};
for(int j = 0;j>=0;j++){
System.out.println("是否需要添加元素:y/n?");
String answer = MyScanner.next();
if("y".equals(answer)){
System.out.println("请输入要添加的元素:");
int addNum = MyScanner.nextInt();
int [] array2 = new int [array1.length+1];
array2[array2.length-1] = addNum;
for(int i = 0;i < array1.length;i++){
array2[i] = array1[i];
}
array1 = array2;
}
else{
break;
}
}
for(int i = 0;i
数组缩减
PS:太简单了,故留给读者们自己思考练习。



