1. 程式人生 > >Java學習日記------面向對象③

Java學習日記------面向對象③

排序 pla esc 存在 min util ring ble person

Java類的設計和使用練習

package day3;

public class TestPerson1 {
    public static void main(String[] args) {
        Person1 a1=new Person1();
        a1.study();
        a1.showage();
        a1.addAge(2);
        a1.Display();
    }
}
class Person1{
    String name;
    int age;
    boolean sex;
    public
void study() { System.out.println("studying"); } public void showage() { System.out.println("age:"+age); } public int addAge(int i) { age+=i;//age=age+i; return age; } public void Display() { System.out.println(" name:"+name+" age:"+age+" sex:"+sex); } }

package day3;
//利用面向對象的方法設計Circle類計算圓的面積。
public class Circle {
    public static void main(String[] args) {
        circl aa=new circl();
        aa.radius=2.3;
        aa.findArea();
    }
}
class circl{
    double radius=1.0;//半徑
    //計算圓的面積
    public void findArea() {
        System.out.println(
3.14*radius*radius); } }

package day3;

public class TestArry {
    public static void main(String[] args) {
        int[] arr=new int[] {1,2,3,4,5,6,7};
        ArryUtil au=new ArryUtil();
        int max=au.getmax(arr);
        System.out.println("最大值為:"+max);
        int avg=au.Avg(arr);
        System.out.println("平均值為:"+avg);
        au.printArray(arr);
        au.sort(arr,"desc");
        au.printArray(arr);
    }
}
//、、、、、、、、、、、、、、、、、、、、、、、、
package day3;

public class ArryUtil {
    //求數組的最大值
    public int     getmax(int[] arr) {
        int max=arr[0];
        for(int i=1;i<arr.length;i++) {
            if(max<arr[i]) {
                max=arr[i];
            }
        }
        return max;
    }
            //求數組的最小值
    public int Getmin(int[] arr) {
        int min=arr[0];
        for(int i=1;i<arr.length;i++) {
            if(min>arr[i]) {
                min=arr[i];
            }
        }
        return min;
    }
            //遍歷數組的元素
    public void printArray(int[] arr) {
        System.out.print("[");
        for(int i=0;i<arr.length;i++) {
            System.out.print(arr[i]+"\t");
        }
        System.out.println("]");
    }
            //求數組的平均值
    public int Avg(int[] arr) {
        int sum=getSum(arr);
        return sum/arr.length;
    }
            //求數組的總和
    public int getSum(int[] arr) {
        int sum=0;
        for(int i=0;i<arr.length;i++) {
            sum+=arr[i];
        }
        return sum;
    }        
            //數組的反轉
    public int[] reverse(int[] arr) {
        for(int x=0,y=arr.length-1;x<y;x++,y--) {
            int temp=arr[x];
            arr[x]=arr[y];
            arr[y]=temp;
        }
        return arr;
    }
            //實現數組的復制
    public int[] copy(int[] arr) {
        //int[] arr1=arr;
        //return arr1;   這種情況實際上是arr和arr1使用了同一個堆空間裏的數組
        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,String desc) {
        if(desc=="des") {//從小到大
            //冒泡排序
            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;
                    }
                }
            }
        }else if(desc=="desc") {
            //冒泡排序  從大到小
            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;
                    }
                }
            }
        }
    }
}

  Java類的方法重載:在同一個類中,允許存在一個以上的同名方法,只要它們的參數個數或者參數類型不同即可。

  重載的特點:與返回值類型無關,只看參數列表,且參數列表必須不同。(參數個數或參數類型)。調用時,根據方法參數列表的不同來區別。

  重載示例:

//返回兩個整數的和
  int add(int x,int y){return x+y;}
//返回三個整數的和
  int add(int x,int y,int z){return x+y+z;}
//返回兩個小數的和
  double add(double x,double y){return x+y;}

p

Java學習日記------面向對象③