JAVA数组的遍历获取最大值最小值 数组的反转 数组的查找 练习 定义方法创建指定大小的数组,并添加指定元素 拼接两个数组

    技术2025-08-17  9

    数组的遍历 获取最大值最小值 数组的反转 数组的查找 练习 定义方法创建指定大小的数组,并添加指定元素 拼接两个数组

    感觉数组的运用还是得靠大量的实操练习才能深刻理解,像遍历取大小值和反转查下标这种系统本身就有提供现成的方法,但不通过方法就能实现功能的练习还是很必要的,这些会加强你对数组的理解。下面就罗列了些常用的方法和一些数组的练习

    数组的遍历

    根据数组中的索引值的改变,一个一个的访问数组中的元素,再把每个元素都打印出来

    package Chating; public class Shuzu { public static void main(String[] args) { //数组的遍历 int[] arr = {1,2,3,4,5}; for(int i = 0; i < arr.length; i++) {//数组的长度 arr.length System.out.print(arr[i]+" ");//把元素都打印出来,每个中间加空格 } } }

    数组获取最大值

    给定一个数组,求出数组的最大值

    思路:擂台思想

    预设一个默认最大值max当做擂主,数组中所有元素为挑战者,通过遍历与max一一挑战比较大小,如果数组中元素比max大,就把该元素的值赋值给max,否则不做任何操作,进行下一组的比较,循环结束max存储的就是最大值

    package Chating; public class Shuzu { public static void main(String[] args) { int[] arr = {11,257,0,99}; int max = 0;//预设最大值max for(int i = 0; i < arr.length; i++) {//遍历数组 一个一个与max比较大小 if (max<arr[i]) {//如果max比数组元素小 max = arr[i];//数组元素赋值给max } } System.out.println("最大值为"+max);//循环结束max储存的就是最大值 } }

    获取最小值

    与获取最大值同理,把预设的最大值max变成最小值min,再通过遍历与数组元素进行比较,如果数组元素比min小,就赋值给min,否则不做任何操作,进行下一组的比较,循环结束min即为最小值

    package Chating; public class Shuzu { public static void main(String[] args) { int[] arr = {11,257,0,99}; int min = 0;//预设最小值min for(int i = 0; i < arr.length; i++) {//遍历数组 一个一个与min比较大小 if (min>arr[i]) {//如果min比数组元素大 min = arr[i];//数组元素赋值给min } } System.out.println("最小值为"+min);//循环结束min储存的就是最小值 } }

    数组的反转

    元素前后的交换 如{1,2,3,4} — {4,3,2,1}

    思路:

    预设个数值t做中间交换值

    把首位值(arr[0])赋值给t做储存

    再把末位值(arr[arr.lenght])赋值给首位值

    最后把储存在t中的首位值赋值给末位值(arr[arr.lenght])

    完成前后位数组的交换,通过遍历完成整个数组的交换

    注意:前一位的遍历坐标必须小于后位的坐标,否则如果数组中的元素数量是偶数,前位坐标大于后位坐标,就会重新交换回原样

    package Chating; public class Shuzu { public static void main(String[] args) { int[] arr = {11,257,0,99}; for (int i = 0,j = arr.length-1; i<j;i++,j--) {//i为第一位的坐标,j为末位坐标,根据循环递增减 //前一位的遍历坐标必须小于后位的坐标 i<j int t = arr[i];//预设中间数t被赋值保存第一位的数值 arr[i] = arr[j];//把末位的数值赋值给第一位 arr[j] = t;//把t中保存的第一位的数值赋值给末位 } for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+" "); } } }

    数组的查找

    指定元素数值,从数组中找出坐标

    package Chating; import java.util.Scanner; public class Shuzu { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("请输入要查询的元素:"); int num = sc.nextInt(); int index = 0;//定义一个变量,用于接收索引值 int[] arr = {34,0,6,208}; for(int i = 0; i < arr.length; i++) { if(num == arr[i]) {//判断输入的数值是否与数组中的元素相同 index = i;//如果有相同的数值就输出坐标 System.out.println("数组中该元素的索引为: " + i); break; } if (i==arr.length-1) {//表示遍历完数组全部长度没有找出相同数值 System.out.println("查无此元素"); } } } }


    练习

    定义个方法,创建一个指定大小的数组,并向该数组添加指定元素,最后打印

    package Chating; import java.util.Scanner; public class Shuzu { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("请输入数组大小:"); int num = sc.nextInt();//键盘录入指定数组大小 shuzu(num);//调用方法 } public static void shuzu(int num) { int j = 0; int[] arr = new int[num]; while (j<num) {//循环输入元素的次数等于指定数组的大小数 Scanner sc = new Scanner(System.in); System.out.print("请输入要加入的元素:"); int n = sc.nextInt();//键盘录入要加入的元素 arr[j]+=n;//每个元素下标上循环赋值 j++; } for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+" "); } } }


    给出两个数组,数组A {1,3,5,7,9,11}数组B{2,4,6,8,10}拼接为数组C{1,3,5,7,9,11,2,4,6,8,10};

    package Chating; public class Shuzu { public static void main(String[] args) { int[] A = {1,3,5,7,9,11}; int[] B = {2,4,6,8,10}; int[] C = new int[A.length + B.length];//创建一个C元素个数是A和B的和 for(int i = 0; i < A.length; i++) {//把数组A中的元素赋值到C中, C[i] = A[i];//赋值的个数为A.length个 } for(int i = 0; i < B.length; i++) {//把数组B中的元素赋值到C中, C[A.length + i] = B[i];//赋值的个数为A.length个,赋值的起点为前一循环A.length + i开始 }//C中原有A种的6个元素,所以B数组的赋值从下标6开始,往后递增(A.length + i = 6) for(int i = 0; i < C.length; i++) { System.out.print(C[i]+" "); } } }

    Processed: 0.025, SQL: 9