JAVA 基础知识27日谈——Day5

    科技2022-07-13  142

    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

    //

    Processed: 0.011, SQL: 8