1 集合:
1.1 回顾
1) 静态的关键字static: 类,方法,属性(是属于类所有的,所有对象共享),静态代码段(执行时机 类加载)
2) 内部类:基本应用swing中的事件的监听 内部类中可以直接访问外部类的成员,反之则不行; 闭包; 还是多继承的一种处理方式
3) 方法的调用: 递归调用
4) 方法的参数传递: 值传递 对于基本类型和引用类型传递规律(String 的不变性)
5) 方法的可变参数: … void t(int … args){}
6) 断言:了解 assert Boolean: “提示信息”;
7) Arrays的常见方法
1.2 作业讲解:
还行,就是老师没讲我昨天碰到的困惑,就是哪个calendar方法中的set:
package day13;
import java.util.Calendar;
public class TestCalendar {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
System.out.println(calendar);
//重新设置了year的部分
//此处只是秀给了某个对象的属性值
calendar.set(Calendar.YEAR, 2016);
System.out.println(calendar);
}
}
package day13;
import java.util.Arrays;
import java.util.Comparator;
public class TestArrays {
public static void main(String[] args) {
String[] array = { "2", "12", "123", "4" };
Arrays.sort(array, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
// TODO Auto-generated method stub
return Integer.parseInt(o1) - Integer.parseInt(o2);
}
});
for (String string : array) {
System.out.println(string);
}
}
}
Arrays的sort方法还没懂: 先会应用
课后作业
预习 : 集合
编码实现对一个公司的员工进行简单的访问: 增加员工,删除员工,修改员工,查询员工(姓名 查询所有 根据员工编号等);
分析: 每个员工都应该是一个对象(Employee) ->一个公司有多个员工(数组或者集合来处理) ->针对数组的操作: ->增加员工,删除员工,修改员工,查询员工(姓名 查询所有 根据员工编号等
后续将上面的案例使用集合来处理 ->将数据和数据库-> Java+JDBC
实体类
package homework;
/**
* 公司员工(雇员) 实体类
*
* @author Administrator
*
*/
public class Employee {
// 员工编号
private String empNo;
// 姓名
private String empName;
// 部门
private String deptName;// 这里后面会变化
// 工资
private double salary;
public Employee() {
// TODO Auto-generated constructor stub
}
public Employee(String empNo, String empName, String deptName, double salary) {
super();
this.empNo = empNo;
this.empName = empName;
this.deptName = deptName;
this.salary = salary;
}
public String getEmpNo() {
return empNo;
}
public void setEmpNo(String empNo) {
this.empNo = empNo;
}
public String getEmpName() {
return empName;
}
public void setEmpName(String empName) {
this.empName = empName;
}
public String getDeptName() {
return deptName;
}
public void setDeptName(String deptName) {
this.deptName = deptName;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
@Override
public String toString() {
return "Employee [empNo=" + empNo + ", empName=" + empName + ", deptName=" + deptName + ", salary=" + salary
+ "]";
}
}
员工管理类
package homework;
import java.util.Scanner;
/**
* 员工管理
*
* @author Administrator
*
*/
public class EmpManage {
// 有几个员工?多个员工?
// 我们使用数组可以解决,但是如果数组一旦定义长度就固定了,以后不好扩展
private Employee emps[] = new Employee[20]; // 默认值 null
// 通常 增加的操作会写成一个方法
public void addEmp(Employee emp) {
for (int i = 0; i < emps.length; i++) {
if (emps[i] == null) {
emps[i] = emp;
System.out.println("增加成功");
break;
}
}
}
/**
* 输入
*/
public void inputEmp() {
Scanner input = new Scanner(System.in);
System.out.println("*********请输入 员工编号,姓名,部门,基本工资**********");
String empNo = input.nextLine();
String empName = input.nextLine();
String deptName = input.nextLine();
double salary = input.nextDouble();
Employee emp = new Employee(empNo, empName, deptName, salary);
addEmp(emp);
}
/**
* 员工的
*/
public void showEmp() {
System.out.println("***********公司员工列表如下*****************");
for (Employee employee : emps) {
if (employee ==