JAVA 基础知识27日谈——Day5

JAVA 基础知识27日谈——Day5

Day5_ JAVA 数组中的基本知识
運行環境: jre1.8.0_261

数组的定义

数组的基本操作

1 遍历
2 最值
3 逆序
4 查表
5 基本查找

1 数组的遍历

1.1 数组的遍历

// 遍历数组里的所有元素
public class ArrayBianli {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int[] arr1 = { 1, 2, 3, 4, 5 };
	// 遍历数组里面的所有元素	
		for (int x = 0; x < arr1.length; x++) {
			System.out.println(arr1[x]);
		}

	}
}

1.2 调用打印方法

public class CallArrayPrint {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		// 声明数组
		// 调用方法打印数组
		int [] arr1 = {2,4,6,8,10,12};
		printArray(arr1);
	}

	// 构造打印数组的方法
	public static void printArray(int[] array) {
		for (int x = 0; x < array.length; x++) {
			System.out.println(array[x]);
		}
	}
}

2 数组的最值 max/min

2.1 调用方法arrayMax ,arrayMin 获取数组的最值

public class ArrayMax {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int[] arr1 = { 1, 2, 3, 4, 5, 6, 7 };
		System.out.println(arrayMax(arr1));
	}

	// 需求:返回数组的最大值
	// 返回值类型:int/float/double float
	// 参数列表: 数组 array
	public static int arrayMax(int[] array) {
		int max = array[0];
		for (int x = 1; x < array.length; x++) {
			if (array[x] > max) {
				max = array[x];
			}
		}
		return max;
	}

	public static int arrayMin(int[] array) {
		int min = array[0];
		for (int x = 1; x < array.length; x++) {
			if (array[x] < min) {
				min = array[x];
			}
		}
		return min;
	}

}

输出结果:
7
1

3 数组元素逆序

方法1

public class ArrayInverse {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int [] arr1 = {1,2,3,4,5,6,7,8,9};
		System.out.println("原始数组是:");
		printArray(arr1);
		System.out.println("逆序后的数组是:" );
		arrayInverse(arr1);
		printArray(arr1);
	}
// 需求:数组逆序
// 返回值类型: int [] array
// 参数列表: int [] array
	public static void arrayInverse(int[] array) {
		int len = array.length;
		for (int x = 0; x < len / 2; x++) {
			int temp = array[x];
			array[x] = array[len - 1 - x];
			array[len - 1 - x] = temp;
		}
	}
// 数组的遍历	
	public static void printArray(int [] array) {
		System.out.print("[");
		for(int x=0;x<array.length;x++) {
			if(x == array.length-1) {
				System.out.println(array[x] + "]");
			}else {
				System.out.print(array[x]+",");
			}
		}
		
	}
}


輸出結果:
原始数组是:
[1,2,3,4,5,6,7,8,9]
逆序后的数组是:
[9,8,7,6,5,4,3,2,1]

方法2

package cn.method_01;

public class ArrayInverse {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int [] arr1 = {1,2,3,4,5,6,7,8,9};
		System.out.println("原始数组是:");
		printArray(arr1);
		System.out.println("逆序后的数组是:" );
		arrayInverse(arr1);
		printArray(arr1);
		
		System.out.println("-------------");
		System.out.println("arrayInverse2 ");
		System.out.println("原始数组是:");
		printArray(arr1);
		System.out.println("逆序后的数组是:" );
		arrayInverse2(arr1);
		printArray(arr1);
	}
// 需求:数组逆序
// 返回值类型: int [] array
// 参数列表: int [] array
	public static void arrayInverse(int[] array) {
		int len = array.length;
		for (int x = 0; x < len / 2; x++) {
			int temp = array[x];
			array[x] = array[len - 1 - x];
			array[len - 1 - x] = temp;
		}
	}
// 數組的逆序使用兩個循環
	public static void arrayInverse2(int [] array) {
		for(int start=0 ,end = array.length-1;start<= end;start++ ,end --) {
			int temp = array[start];
			array[start]= array[end];
			array[end] = temp;	
		}
	}
// 数组的遍历	
	public static void printArray(int [] array) {
		System.out.print("[");
		for(int x=0;x<array.length;x++) {
			if(x == array.length-1) {
				System.out.println(array[x] + "]");
			}else {
				System.out.print(array[x]+",");
			}
		}
		
	}
}

輸出結果:
原始数组是:
[1,2,3,4,5,6,7,8,9]
逆序后的数组是:
[9,8,7,6,5,4,3,2,1]

arrayInverse2
原始数组是:
[9,8,7,6,5,4,3,2,1]
逆序后的数组是:
[1,2,3,4,5,6,7,8,9]

4 數組查找法

package cn.method_01;

public class ArrayChazhao {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		// 創建數組
		int [] arr0 = {100,200,300,666,777};
		int val0 = 300;
		int val1 = 301;
		int pos0 = getIndex(arr0, val0);
		System.out.println(pos0);
		
		int pos1 = getIndex(arr0, val1);
		System.out.println(pos1);
		
	}
	/*
	  需求: 查找指定數據在數組中第一次出現的索引
	  兩個明確:
	  1) 返回值類型:int
	  2) 參數列表: int [] array; int value;
	 */
	public static int getIndex(int [] array, int value){
			// 指定index = -1 很重要 
		int index = -1;
		for (int x = 0; x < array.length; x++) {
			if (array[x] == value) {
				index = x;
				break;
			}
		}
		return index;
	}

}

輸出結果
2
-1

//

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值