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)的学生信息
}