码迷,mamicode.com
首页 > 编程语言 > 详细

Java学习日记------面向对象③

时间:2018-03-03 15:34:27      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:div   system   java学习   ret   print   数列   最大   i++   1.0   

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学习日记------面向对象③

标签:div   system   java学习   ret   print   数列   最大   i++   1.0   

原文地址:https://www.cnblogs.com/Gaohy/p/8496584.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!