Java数组的使用

2018-04-03  本文已影响15人  小苗晓雪

基本数组

// 求数组中的最大和最小元素:
public class Array 
{
    // 1.主方法:
    public static void main(String[] args)
    {
        int[] nums = new int[] {10 , -3 , 5 , 0 , 2 , 1};
        // 这里用类名调用方法:
        int maxValue =  Array.getMax(nums);
        System.out.println(maxValue);
        //打印数组中的元素:
        String[] printStringArray = new String[] {"a" , "B" , "c" , "D" , "e" , "F"};
        Array.printArray(printStringArray);
        // 打印反转数组:
        String[] reverseArray = Array.reverseArray(printStringArray);
        Array.printArray(reverseArray);
        
        // 查询某个元素第一次出现的位置:
        int[] intArray = new int[] {0,2,3,4,5,6,7,8,1,2,3,4,5};
        // 查询 "数字1" 这个元素第一次出现的位置:
        int firstShowIndex = Array.indexOf(intArray, 1);
        System.out.println(firstShowIndex);
        
    }
    
    // 2.获取最大值的方法:
    static int getMax(int[] numsArray)
    {
        int max = numsArray[0];
        for (int i = 0; i < numsArray.length; i++) {
            if (numsArray[i] > max)
            {
                max = numsArray[i];
            }
        }
        return max;
    }
    
    // 3.打印数组中的内容的方法:
    static void printArray(String[] stringArray)
    {
        if (stringArray == null)
        {
            System.out.println("null -> 空数组~");
        }
        String result = "[";
        for (int i = 0; i < stringArray.length; i++) 
        {
            result = result + stringArray[i];
            if (i != stringArray.length - 1)
            {
                result = result + ", ";
            }
        }
        result = result + "]";
        System.out.println(result);
    }
    
    // 4.逆序排列数组中的元素:
    static String[] reverseArray(String[] oldArray)
    {
        String[] newArray = new String[oldArray.length];
        for (int i = 0; i < newArray.length; i++) 
        {
            // 新数组的后面的元素是老数组的对应位置的翻转的元素:
            newArray[(oldArray.length - 1) - i] = oldArray[i];
        }
        return newArray;
    }
    
    // 5.查询key元素在数组中出现的位置index:
    static int indexOf(int[] intArray , int key)
    {
        for (int i = 0; i < intArray.length; i++)
        {
            if (intArray[i] == key)
            {
                return i;
            }
        }
        //如果从未出现返回 -1:
        return -1;
    }
}

高级数组

public class AdvancedArray
{
    public static void main(String[] args)
    {
        int[] intArray = new int[] {10 , 99};
        printArray(intArray);
        // 交换第一个和最后一个的值:
        swap(intArray);
        printArray(intArray);
    }
    
    // 打印数组的值:
    static void printArray(int[] array)
    {
        if (array == null)
        {
            System.out.println("null");
        }
        String result = "[";
        for (int i = 0; i < array.length; i++)
        {
            result = result + array[i];
            if (i != array.length - 1)
            {
                result = result + ", ";
            }
        }
        result = result + "]";
        System.out.println(result);
    }
    
    // 交换数组中的首尾元素:
    static void swap(int[] array) 
    {
        int temp = array[0];
        array[0] = array[array.length - 1];
        array[array.length - 1] = temp;
    }
}



愿编程让这个世界更美好

上一篇 下一篇

猜你喜欢

热点阅读