1. 程式人生 > >javase部分3

javase部分3

strong child 拓展 ren 兩個 sys code 返回值 二維數組

3.1函數

  修飾符 返回值類型 函數名(參數類型 形式參數 1,參數類型 形式參數2...){

  執行語句;

  return 返回值;

}

void 空 返回值類型

3.2重載與重寫

重載:同一個類中,兩個或多個函數名相同,返回值類型可以不相同,但參數列表不同(參數個數,參數類型) 與變量名無關

public class Overload {

    /**
     * @param args
     */
    public static void main(String[] args) {
        add(1, 2);
        add(0.1, 2.1, 3.1);

    }

    
public static int add(int x, int y) { System.out.println(x + y); return x + y; } public static int add(double x, double y, double z) { System.out.println((int) (x + y + z));//為了達到效果強制轉換成int類型 return (int) (x + y + z);//返回int類型參數 } }
//結果 為3 5

重寫:子類繼承父類方法,可重寫父類方法。在接口中實現接口必須實現接口方法 只有方法體不同

                class People {
    public void eat() {
        System.out.println("people 吃飯!");
    }

    public void say() {
        System.out.println("people 說話!");
    }
}

class Children extends People {
    public void eat() {
        System.out.println("Children 吃飯!");// 重寫父類方法
    }

    public
void say() { System.out.println("Children 說話!"); } } public class Override { public static void main(String[] args) { Children cd = new Children(); cd.eat(); cd.say(); People pp = new People(); pp.eat(); pp.say(); } } //結果為 Children 吃飯! Children 說話! people 吃飯! people 說話!

3.3 數組(引用數據類型中的一種)

    數組:存儲同一種類型數據的集合 內存:棧空間:數據使用完畢,會自動釋放(存儲局部變量) 堆空間:存儲對象,new出來的東西 是一塊內存空間

       eg: int [] x=new int[3]; 首先先在堆空間申請一塊內存 ,內存被劃分為3塊存儲默認數據,再在空間申請一塊名為x的內存,存儲堆空間中的內存地址

       當堆內存中的實體與棧內存中變量沒有聯系時會自動回收內存

    數組初始化:1.靜態初始化數組:int[] a={ 1,2,3,4} 缺點 數組的內容已經明確

          2.動態初始化數組:int[] a=new int[4]; a[1]=1;...

    數組遍歷:通過屬性length for循環打印數組

    求最值:冒泡法

    排序:選擇排序 (一與多比較 卡住遊標求最小值) 冒泡排序(相鄰比,多輪後)

    查找:二分法

    拓展:二維數組 是一維數組中存放的數據為一維數組 定義的話也分靜態與動態 遍歷的話也是a.length,a[i].length

class ArraysEg {
/*
 * 選擇排序
 */
    public void sort(int[] a) {
        
        for (int x = 0; x < a.length - 1; x++) {//控制比較的次數 
            for (int y = x + 1; y < a.length; y++) {//控制和那些比較
                int temp = 0;
                if (a[x] > a[y]) {//將當前遊標位置和其他位置比較求出最小值
                    temp = a[x];
                    a[x] = a[y];
                    a[y] = temp;
                }
            }
        }
        for (int i = 0; i < a.length; i++) {
            System.out.print(a[i] + "\t");
        }
    }

}

public class ArraysText {
    public static void main(String args[]) {
        int[] a = { 2, 1, 5, 7, 3 };
        ArraysEg ae = new ArraysEg();
        ae.sort(a);
    }

}
//結果 1    2    3    5    7    
/*
 *冒泡排序
 */
class bubble {
    public void sort(int[] a) {
        for (int x = 0; x < a.length - 1; x++) {// 控制比較次數
            for (int y = 0; y < a.length - 1 - x; y++) {// 每一輪冒泡,都會少一次比較
                if (a[y] > a[y + 1]) {
                    int temp = 0;
                    temp = a[y];
                    a[y] = a[y + 1];
                    a[y + 1] = temp;
                }
            }
        }
    }

}

public class ArrayText2 {
    public static void main(String args[]) {
        int[] a = { 4, 1, 5, 7, 3 };
        ArraysEg ae = new ArraysEg();
        ae.sort(a);
    }
}
//結果: 1    3    4    5    7

註:以上內容是博主覺得比較關鍵的地方,僅供有一定編程基礎的朋友參考,歡迎糾錯。

javase部分3