类和对象的创建--------相关练习

1.类的设计

类和对象的创建--------相关练习

 (1)创建Person类

public class Person {
     String name;
     int age;
     int sex;
     /**
      * sex 1:male
      * sex 0:female
      */
     public void study(){
    	 System.out.println("studying");
     }
     public void showAge(){
    	 System.out.println("age="+age);
     }
     public int addAge(int i){
    	 age+=i;
    	 return age;
     }    
}

(2)创建第二个对象

public class PersonTest {
     public static void main(String[] args){
    	 Person p1=new Person();
    	 p1.name="Tom";
    	 p1.age=10;
    	 p1.sex=1;
    	 p1.study();
    	 p1.showAge();
    	 int newAge=p1.addAge(2);
    	 System.out.println(p1.name+" new age:"+newAge);
    	 System.out.println(p1.age);   	 
    	//**********
    	 Person p2=new Person();
    	 p2.showAge();//0
    	 p2.addAge(10);//10
    	 p1.showAge();//12  	 
     }
}

2.方法声明

在 method 方法提供 m 和 n 两个参数,方法中打印一个m*n 的*型矩形,并计算该矩形的面积, 将其作为方法返回值。在 main 方法中调用该方法,接收返回的面积值并打印。

public class Exer3Test {
      public static void main(String[] args){
    	  Exer3Test test=new Exer3Test();
    	  System.out.println(test.method(10,8));
      }  
      public int method(int m,int n){
    	  for(int i=0;i<m;i++){
    		  for(int j=0;j<n;j++){
    			  System.out.print("*");
    		  }
    		  System.out.println();
    	  }
    	  return m*n;
      }
      
}

3.对象数组

类和对象的创建--------相关练习

package com.shang.exercise;

public class Student1Test {
      public static void main(String[] args){
    	  Student1[] stus=new Student1[20];
    	  for(int i=0;i<stus.length;i++){
    		  stus[i]=new Student1();//给数组元素赋值
    		  //给Student对象的属性赋值
    		  stus[i].number=i+1;
    		//年级[1,6]
    		  stus[i].state=(int)(Math.random()*(6-1+1)+1);
    		//成绩[0,100]
    		  stus[i].score=(int)(Math.random()*(100-0+1)+0);
    	  }
    	  Student1Test test=new Student1Test();
    	  test.print(stus);//遍历
    	  System.out.println("**************");
    	  //问题一:打印三年级(state=3)的学生信息
    	  test.searchState(stus, 3);
    	  System.out.println("**************");
    	 // 问题二:使用冒泡排序按学生成绩排序,并遍历所有学生信息
    	  test.sort(stus);
}
      //遍历Student1[]数组的操作
      public void print(Student1[] stus){
    	  for(int i=0;i<stus.length;i++){
 			 System.out.println(stus[i].info());
 		 }
      }
      //查找学生信息
      public void searchState(Student1[] stus,int state){
    	  for(int i=0;i<stus.length;i++){
    		  if(stus[i].state==state){
 			 System.out.println(stus[i].info());
 		 }
      }
      }
      //冒泡排序按学生成绩排序,并遍历输出
      public void sort(Student1[] stus){
    	  for(int i=0;i<stus.length-1;i++){
    		  for(int j=0;j<stus.length-1-i;j++){
    			  if(stus[j].score>stus[j+1].score){
    				  //如果需要换序,交换的是数组的元素:Student 对象
    				  Student1 temp=stus[j];
    				  stus[j+1]=stus[j];
    				  stus[j]=temp;
    			  }
    		  }
    	  }
     	 for(int i=0;i<stus.length;i++){
  			System.out.println(stus[i].info());
  		 }
      }   
}
class Student1{
	//属性
	int number;//学号
	int state;//年级
	int score;//成绩
	//显示学生信息
	public String info(){
		return "number="+number+" state="+state+" score="+score;
	}
	//问题一:打印三年级(state=3)的学生信息
	
}

上一篇:【C# .Net GC】 HandleCollector类


下一篇:类和对象的创建