1. 程式人生 > 實用技巧 >Java 基礎類之三

Java 基礎類之三

匿名物件的使用

package com.chenxiTeat.com.chenxiTeat;
/**
 * 1、理解“萬是萬物皆物件”
 *(1) Java語言範疇中,我們將功能、結構等封裝到類中,通過類的例項化,來呼叫具體功能結構
 * Scanner,String等
 * 檔案;File
 *網路資源;URL
 * (2)涉及到Java語言與前端Html、後端資料庫互動時前後端的結構在java層面互動時,都體現為類物件
 *2、引用資料型別的變數只可能儲存兩類值:null或 地址值(含變數型別)
 *3、匿名物件的使用
 *(1)理解:我們建立的物件,沒有顯示的賦給一個變數名。即為匿名物件
 *(2)特徵:只能呼叫一次
 *(3)使用
 *
 *
 */
public class intest {
    public static void main(String[] ages){
        //匿名物件的使用
        new PUer().playGame();
        new PUer().price=1999;
        new PUer().showPrice();
        PhoneMall phone = new PhoneMall();
        //匿名物件的使用場景
        phone.show(new PUer());
    }
}
class PhoneMall{
    public void show (PUer pUer){
        pUer.showPrice();
        pUer.playGame();
        pUer.showPrice();
    }

}
class PUer{
    double price ;
    public void sendEmail(){
        System.out.println("發郵件");
    }
    public void playGame(){
        System.out.println("玩遊戲");
    }
    public void showPrice(){
        System.out.println("手機價格為:"+price);

    }
}

  自定義陣列工具類(陣列反轉查詢複製的實現)

  

package com.chenxiTeat.com.chenxiTeat;

/*

 */
//public class ArrayUtil {
class ArrayUtil{
    //陣列最大值的實現
    public int getMax(int[] arr){
        int MaxValue = arr[0];
        for (int i=1;i<arr.length;i++){
            if (MaxValue< arr[i]){
                MaxValue = arr[i];
            }

        }
        return MaxValue;
    }
    //陣列的最小值
    public int getMin(int[] arr){
        int MinValue = arr[0];
        for (int i=1;i<arr.length;i++){
            if (MinValue >arr[i]){
                MinValue = arr[i];
            }

        }
        return MinValue;
    }
    //求陣列總和
    public int getSum(int[] arr){
        int sum =0;
        for (int i =0;i<arr.length;i++){
            sum +=arr[i];
        }
        return sum;
    }
    //陣列平均值
    public int getAvg(int[] arr){

        return getSum(arr)/arr.length;
    }
    //反轉陣列
    public void reverse(int[] arr) {
        for (int i = 0; i < arr.length / 2; i++) {
            int temp = arr[i];
            arr[i] = arr[arr.length - i - 1];
            arr[arr.length - i - 1] = temp;
        }
    }
    //複製陣列
    public int[] copy(int[] arr){
        int[] arr1=new int[arr.length];
        for (int i = 0; i < arr1.length;i++){
            arr1[i] = arr[i];

        }
        return arr1;
    }
    //陣列排序
    public void sort(int[] arr){
        for (int i =0;i < arr.length-1;i++ ){
            for (int j = 0; j< arr.length-1-i; j++){
                //如果需要換序,交換的是陣列的元素
                if (arr[j]> arr[j+1]){
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
        System.out.println();
    }
    //陣列遍歷
    public void print(int[] arr){
        for (int i = 0; i<arr.length;i++){
            System.out.print(arr[i]+"\t");
        }
//        return 0;
        System.out.println();

    }
    //查詢陣列指定元素
    public int getIndex(int[] arr,int dest){
        for (int i = 0; i<arr.length;i++){
            if (dest == arr[i]){
                return i;
            }
        }
        return -1;
    }

}

  呼叫陣列工具類

package com.chenxiTeat.com.chenxiTeat;

public class ArrayUtiltest {
    public static void main (String[] ages){
        ArrayUtil util = new ArrayUtil();
        int[] arr = new int[]{32,76,90,45,23,78,15,89,66,34};
        int Max = util.getMax(arr);
        System.out.println("最大值為"+Max);
        util.print(arr);
        util.sort(arr);
        util.print(arr);
        int index= util.getIndex(arr,78);
        System.out.println(index);
        System.out.println(util.getIndex(arr,78));
    }

}

  測試結果

最大值為90
32	76	90	45	23	78	15	89	66	34	

15	23	32	34	45	66	76	78	89	90	
7
7

Process finished with exit code 0