第三章05 数组与方法的引用操作

引用传递 是将堆内存数据交由栈内存操作,数据按照函数的操作改变。范例1与范例2中的函数都属于引用操作。

范例1:

//通过printArray(int temp[])打印数组
public class mainDemo{
    public static void main(String args[]){
        int [] data = new int[]{1,3,5,7,9};
        printArray(data);
    }
    public static void printArray(int temp[]){
        for(int i = 0;i<temp.length;i++){
            System.out.println(temp[i]+",");
        }
        System.out.println();
    }
}

范例1数组与方法传递空间分配情况:

范例2:

//使用函数inc将数组中的每个元素除以2并输出结果
public class mainDemo{
    public static void main(String args[]){
        int [] data = new int[]{1,3,5,7,9};
        inc(data);
        printArray(data);
    }
    public static void printArray(int temp[]){
        for(int i = 0;i<temp.length;i++){
            System.out.println(temp[i]+",");
        }
        System.out.println();
    }    
    public static void inc(int arr[]){
        for(int i = 0;i<arr.length;i++){
            arr[i]* = 2;
        }
    }
}

范例2数组与方法传递空间分配情况:

范例3: 排序

//实现功能:传入一个数组,将数组内容从小到大排列并输出
public class Sort{
	public static void main(String args[]){
                int temp;
		int data[] = new int[]{1,2,7,3,5,4,9,0};
		for(int t = 0;t<data.length-1;t++){
		    for(int i = 0;i<data.length-1;i++){
			    if(data[i]>data[i+1]){
				temp = data[i];
				data[i] = data[i+1];
				data[i+1] = temp;
			    }else{
				    continue;
			    }
		    }
		}
		for(int j = 0;j<data.length;j++)
		System.out.println(data[j]);
	}
}

范例4: 逆序

//将一个数组逆序输出的方法有2种
//定义一个与原数组大小相同的数组,将原始数组的内容逆序赋值给新数组,并输出新数组的内容
public class mainDemo{
	public static void main(String args[]){
		int flag = 0;
		int data[] = new int[]{1,3,5,2,4,7,8,9};
		int rdata[] = new int[data.length];
		for(int i = data.length-1;i>=0;i--){
			rdata[flag] = data[i];
			flag = flag+1;
		}
		for(int j = 0;j<rdata.length;j++){
			System.out.print(rdata[j]+",");
		}
	}
}

//遍历当前数组,互换对称位置的数字并输出
public class R{
	public static void main(String args[]){
		int data[] = new int[]{1,3,5,2,4,7,8,9};
		int flag = data.length-1;
		int temp;
		for(int i = 0;i<data.length/2;i++){
			temp = data[i];
			data[i] = data[flag];
			data[flag] = temp;
			flag --;
		}
		for(int j =0;j<data.length;j++)
			System.out.print(data[j]+",");
	}
}

猜你喜欢

转载自blog.csdn.net/guxunshe5199/article/details/81112028
今日推荐