一、知识点(必做):
AnonymousDemo.java
需求:演示匿名内部类用法
- 定义一个抽象父类Animal,其中定义一个抽象方法 shout
- 定义一个IUSB接口,其中定义一个 swapData 方法约定实现类应该具备数据交换能力
- 在测试类中创建一个Animal的子类匿名内部类和IUSB的实现类匿名内部类
作业目的:掌握匿名内部类的语法和使用
public static void main(String[] args) {new Animal() {@Overridepublic void shout() {}};new IUSB() {@Overridepublic 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 = "**,昨晚又停电了!;
