一、知识点(必做):
AnonymousDemo.java
需求:演示匿名内部类用法
- 定义一个抽象父类Animal,其中定义一个抽象方法 shout
- 定义一个IUSB接口,其中定义一个 swapData 方法约定实现类应该具备数据交换能力
- 在测试类中创建一个Animal的子类匿名内部类和IUSB的实现类匿名内部类
作业目的:掌握匿名内部类的语法和使用
public static void main(String[] args) {
new Animal() {
@Override
public void shout() {
}
};
new IUSB() {
@Override
public void swapData() {
}
};
}
public abstract class Animal {
public abstract void shout();
}
public interface IUSB {
void swapData();
}
// 总结 知道简单的语法格式,定义抽象类抽象方法,定义接口,知道匿名内部类和接口实现的匿名内部类的格式
EnumDemo.java
需求:定义一个性别的枚举,取值为:男,女,保密,并使用该枚举声明一个变量,取值为男。
作业目的:熟悉枚举语法和声明枚举变量
public static void main(String[] args) {
ClothType ct1= ClothType.MAN;
ClothType ct2= ClothType.WOMAN;
ClothType ct3= ClothType.NATRUAL;
System.out.println(ct1);
}
public enum ClothType {
MAN,
WOMAN,
NATRUAL;
}
StaticDemo.java(重点)
需求:使用static方法的方式定义一个操作数组的工具类,并测试
作业目的:熟悉工具类的设计方式
public static void main(String[] args) {
int[] arr= {1,2,4};
String str = Arrays.arrayToString(arr);
System.out.println(str);
}
private Arrays() {
}
public static String arrayToString(int[] array) {
String str = "[";
int item;
for (int i = 0; i < array.length; i++) {
item = array[i];
str += item;
if (i == array.length - 1) {
str += "]";
} else {
str += ",";
}
}
return str;
}
SingletonDemo.java(重点)
需求:使用单例设计模式定义一个数组的工具类,并测试
作业目的:掌握单利设计模式的写法,记住单例设计模式的三个步骤
public static void main(String[] args) {
Singleton instance = Singleton.getInstance();
System.out.println(instance);
int[] arr ={1,2,4};
String str=Singleton.getInstance().arrayToString(arr);
System.out.println(str);
}
public Singleton() {
}
private static Singleton instance = new Singleton();
public static Singleton getInstance() {
return instance;
}
public static String arrayToString(int[] arr){
String str = "[";
int item;
for (int i = 0; i < arr.length; i++) {
item =arr[i];
str+=item;
if (i == arr.length-1) {
str="]";
}else{
str=",";
}
}return str;
}
IntegerDemo.java(重点)
需求:包装类、基本数据类型、String三者的互换
作业目的:掌握包装类、基本数据类型、String三者的互换操作
public static void main(String[] args) {
String str="100";
Integer i1= Integer.valueOf(str);
int val= i1.intValue();
//实际开发过程中必用
val =Integer.parseInt(str);
System.out.println(val);
}
BigDecimalDemo.java
需求:创建BigDecimal类的对象,并调用常用方法
作业目的:掌握BigDecimal类的使用
public static void main(String[] args){
BigDecimal big1 =new BigDecimal("0.01");
BigDecimal big2 =new BigDecimal("0.09");
BigDecimal result = big1.add(big2);
BigDecimal scaleResult1 =result.setScale(3,RoundingMode.HALF_UP);
System.out.println(scaleResult1);
}
EqualsDemo.java(预习题)
需求:
演示String类创建对象的两种方式,并使用 == 和equals方法进行比较
判断字符串非空
作业目的:了解String的原理,掌握String判断字符串是否为空
StringDemo.java(预习题)
需求:演示String中的常用方法的调用(9个)
作业目的:熟练操作String类中的常用方法
二、综合练习:
EnumDemo.java
声明一个学生类,包含学号、姓名、性别字段,其中性别字段定义成枚举类型。
要求:
- 学生类使用JavaBean规范
- 重写toString() 方法
- 创建一个学生对象,调用toString方法输出学生信息。
private static class Student{
private String name;
private int id;
private Gender gender;
Gender gd1=Gender.男;
public Student(String name, int id, Gender gender) {
this.name = name;
this.id = id;
this.gender = gender;
}
}
enum Gender{
男,
女,
中性;
}
public static void main(String[] args) {
Student stu1=new Student("小小",991,Gender.男);
System.out.println(stu1.name+" "+stu1.id+" "+stu1.gd1);
}
FiltrationDemo.java (预习题)
1.实现功能对指定的敏感词汇进行过滤替换,把敏感词过滤成*号输出
如原句:“窝草,昨晚又停电了!”
过滤后为:“**,昨晚又停电了!”
分析:
1,可以用数组事先存储多个指定的敏感单词;
2,针对所有的敏感字都需要判断及过滤;
3,敏感字替换;replace(), replaceAll()
4,替换的*字符和原字符长度相同;
String[] words = {"握草","SB","扑街"};
String text = "握草,昨晚又停电了!;
替换完成后
String text = "**,昨晚又停电了!;