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