Java SE -数组操作

Day10 : 数组操作

1. 数组地址转移问题

自行参考上一次笔记

class Demo1 {
	public static void main(String[] args) {
		int[] a = new int[10];
		int[] b = new int[10];
		
		a[5] = 50;
		b = a;
		a[0] = 30;
		b[0] = 100;
		
		System.out.println(a[0]);
		System.out.println(b[0]);
		System.out.println(b[5]);
	}
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nqLwyhmT-1587864496820)(E:\JavaLearn\Weekend02\Day10\Homework\img\数据地址转移.PNG)]

2. 数组作为方法的参数
2.1 数组作为方法参数的定义
请看我们的主函数

	public static void main(String[] args) {
		
	}
	
/*
(String[] args) 
	这就是数组作为参数的例子,String是数据类型,[]表示参数就是一个数组

记住一个点,数组作为参数传递。传递的是地址
*/
2.2 数组作为方法参数的分析
题:找出数组中30所在的位置

分析:
1. 方法名:indexOf
2. 返回值:index,由于这表示一个下标,所以数据类型为int
3. 参数列表:为了复用性比较高,参数设为两个,分别是array和num
			array: 要进行查询的数组   int[] array
			num:  要找的数字			int num
            
public static int indexOf(int[] array, int num) {
    
}          
2.3 方法实现和文档注释
class Demo2 {
		
	/**
	* 找出数组中首次出现数字为num的下标,没有找到返回-1
	* 
	* @param array 数据类型int[]; 需要进行查找的数组
	* @param num	数据类型int; 需要查找的元素num
	*
	* @return 返回值类型int;返回数字为num的下标,没有找到返回-1
	*/
	public static int indexOf(int[] array, int num) {
		int index = -1;
		
		for(int i = 0; i < array.length; i++) {
			if(array[i] == num) {
				index = i;
				break;
			}
		}
		return index;
	}
	
	public static void main(String[] args) {
		int[] arra = {10, 8, 35, 67, 31, 25, 11, 30, 28, 99};
        int find = 30;
        int index = -1;
        index = indexOf(array, find);
		
		System.out.println(index);
	}
}
2.4 数组作为参数的运行流程分析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n98ktqtT-1587864496827)(E:\JavaLearn\Weekend02\Day10\Homework\img\数组方法作为参数.PNG)]

2.5 练习

class Demo3 {
	/**
	* 将数组的所有元素赋值为100
	*
	* @param array 数据类型int[]; 需要赋值的数组
	*/
	public static void assignIntArray (int[] array) {
		for(int i = 0; i < array.length; i++) {
			array[i] = 100;
		}
	}
	
	public static void main(String[] args) {
		int[] arr = new int[10];
		
		assignIntArray(arr);
		
		for(int d : arr) {
			System.out.println(d);
		}
	}
}
class Demo4 {
	
	/**
	* 使用数据newNum,替换数组中的oldNum
	*
	* @param array	数据类型int[];需要被替换的数据
	* @param oldNum	数据类型int;数组中的原始数据
	* @param newNum	数据类型int;需要替换的数据
	*/
	public static void replace(int[] array, int oldNum, int newNum2) {
		for(int i = 0; i < array.length; i++) {
			if(array[i] == oldNum) {
				array[i] = newNum;
			}
		}
	}
	public static void main(String[] args) {
		int[] arr = {1, 5, 3, 6, 8, 9, 7, 5};
		
		change(arr, 5, 0);
		
		for(int a : arr) {
			System.out.println(a);
		}
	}
}

d main(String[] args) {
int[] arr = {1, 5, 3, 6, 8, 9, 7, 5};

	change(arr, 5, 0);
	
	for(int a : arr) {
		System.out.println(a);
	}
}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值