- A:Object类概述
- 类层次结构的根类
- 所有类都直接或者间接的继承自该类
- B:构造方法
- public Object()
- 回想面向对象中为什么说:
- 子类的构造方法默认访问的是父类的无参构造方法
###11.16_常见对象(Object类的hashCode()方法)(了解)
- A:案例演示
- public int hashCode()
- a:返回该对象的哈希码值。默认情况下,该方法会根据对象的地址来计算。
- b:不同对象的,hashCode()一般来说不会相同。但是,同一个对象的hashCode()值肯定相同。
###11.17_常见对象(Object类的getClass()方法)(在反射的时候掌握)
- A:案例演示
- public final Class getClass()
- a:返回此 Object 的运行时类。
- b:可以通过Class类中的一个方法,获取对象的真实类的全名称。
- public String getName()
###11.18_常见对象(Object类的toString()方法)(掌握)
- A:案例演示
- public String toString()
- a:返回该对象的字符串表示。
public Stirng toString() {
return name + "," + age;
}
* b:它的值等于:
* getClass().getName() + "@" + Integer.toHexString(hashCode())
* c:由于默认情况下的数据对我们来说没有意义,一般建议重写该方法。
- B:最终版
- 自动生成
###11.19_常见对象(Object类的equals()方法)(掌握)
- A:案例演示
- a:指示其他某个对象是否与此对象“相等”。
- b:默认情况下比较的是对象的引用是否相同。
- c:由于比较对象的引用没有意义,一般建议重写该方法。
###11.20_常见对象(==号和equals方法的区别)(掌握)
- ==是一个比较运算符号,既可以比较基本数据类型,也可以比较引用数据类型,基本数据类型比较的是值,引用数据类型比较的是地址值
- equals方法是一个方法,只能比较引用数据类型,所有的对象都会继承Object类中的方法,如果没有重写Object类中的equals方法,equals方法和==号比较引用数据类型无区别,重写后的equals方法比较的是对象中的属性
###12.03_常见对象(String类的概述)(掌握)
- A:String类的概述
-
通过JDK提供的API,查看String类的说明
-
可以看到这样的两句话。
- a:字符串字面值"abc"也可以看成是一个字符串对象。
- b:字符串是常量,一旦被赋值,就不能被改变。
-
###12.04_常见对象(String类的构造方法)(掌握)
- A:常见构造方法
- public String():空构造
- public String(byte[] bytes):把字节数组转成字符串
- public String(byte[] bytes,int index,int length):把字节数组的一部分转成字符串
- public String(char[] value):把字符数组转成字符串
- public String(char[] value,int index,int count):把字符数组的一部分转成字符串
- public String(String original):把字符串常量值转成字符串
- B:案例演示
- 演示String类的常见构造方法
###12.05_常见对象(String类的常见面试题)(掌握)
- 1.判断定义为String类型的s1和s2是否相等
- String s1 = “abc”;
- String s2 = “abc”;
- System.out.println(s1 == s2);
- System.out.println(s1.equals(s2));
- 2.下面这句话在内存中创建了几个对象?
- String s1 = new String(“abc”);
- 3.判断定义为String类型的s1和s2是否相等
- String s1 = new String(“abc”);
- String s2 = “abc”;
- System.out.println(s1 == s2);
- System.out.println(s1.equals(s2));
- 4.判断定义为String类型的s1和s2是否相等
- String s1 = “a” + “b” + “c”;
- String s2 = “abc”;
- System.out.println(s1 == s2);
- System.out.println(s1.equals(s2));
- 5.判断定义为String类型的s1和s2是否相等
- String s1 = “ab”;
- String s2 = “abc”;
- String s3 = s1 + “c”;
- System.out.println(s3 == s2);
- System.out.println(s3.equals(s2));
###12.06_常见对象(String类的判断功能)(掌握)
- A:String类的判断功能
- boolean equals(Object obj):比较字符串的内容是否相同,区分大小写
- boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
- boolean contains(String str):判断大字符串中是否包含小字符串
- boolean startsWith(String str):判断字符串是否以某个指定的字符串开头
- boolean endsWith(String str):判断字符串是否以某个指定的字符串结尾
- boolean isEmpty():判断字符串是否为空。
###12.07_常见对象(模拟用户登录)(掌握)
- A:案例演示
- 需求:模拟登录,给三次机会,并提示还有几次。
- 用户名和密码都是admin
###12.08_常见对象(String类的获取功能)(掌握)
-
A:String类的获取功能
- int length():获取字符串的长度。
- char charAt(int index):获取指定索引位置的字符
- int indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引。
- int indexOf(String str):返回指定字符串在此字符串中第一次出现处的索引。
- int indexOf(int ch,int fromIndex):返回指定字符在此字符串中从指定位置后第一次出现处的索引。
- int indexOf(String str,int fromIndex):返回指定字符串在此字符串中从指定位置后第一次出现处的索引。
- lastIndexOf
- String substring(int start):从指定位置开始截取字符串,默认到末尾。
- String substring(int start,int end):从指定位置开始到指定位置结束截取字符串。
###12.09_常见对象(字符串的遍历)(掌握)
- A:案例演示
- 需求:遍历字符串
###12.10_常见对象(统计不同类型字符个数)(掌握)
- A:案例演示
- 需求:统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数,其他字符出现的次数。
- ABCDEabcd123456!@#$%^
###12.11_常见对象(String类的转换功能)(掌握)
- A:String的转换功能:
-
byte[] getBytes():把字符串转换为字节数组。
-
char[] toCharArray():把字符串转换为字符数组。
-
static String valueOf(char[] chs):把字符数组转成字符串。
-
static String valueOf(int i):把int类型的数据转成字符串。
- 注意:String类的valueOf方法可以把任意类型的数据转成字符串
-
String toLowerCase():把字符串转成小写。(了解)
-
String toUpperCase():把字符串转成大写。
-
String concat(String str):把字符串拼接。
-
###12.12_常见对象(按要求转换字符)(链式编程掌握)
- A:案例演示
- 需求:把一个字符串的首字母转成大写,其余为小写。(只考虑英文大小写字母字符)
###12.13_常见对象(把数组转成字符串)
- A:案例演示
- 需求:把数组中的数据按照指定个格式拼接成一个字符串
- 举例:
- int[] arr = {1,2,3};
- 输出结果:
- “[1, 2, 3]”
- 举例:
- 需求:把数组中的数据按照指定个格式拼接成一个字符串
###12.14_常见对象(String类的其他功能)
- A:String的替换功能及案例演示
- String replace(char old,char new)
- String replace(String old,String new)
- B:String的去除字符串两空格及案例演示
- String trim()
- C:String的按字典顺序比较两个字符串及案例演示
- int compareTo(String str)(暂时不用掌握)
- int compareToIgnoreCase(String str)(了解)
###12.15_常见对象(字符串反转)
- A:案例演示
- 需求:把字符串反转
- 举例:键盘录入"abc"
- 输出结果:“cba”
- 需求:把字符串反转
###12.16_常见对象(在大串中查找小串出现的次数思路图解)
- A:画图演示
- 需求:统计大串中小串出现的次数
- 这里的大串和小串可以自己根据情况给出
###12.17_常见对象(在大串中查找小串出现的次数代码实现)
- A:案例演示
- 统计大串中小串出现的次数
###14.01_常见对象(正则表达式的概述和简单使用)
- A:正则表达式
- 是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串。其实就是一种规则。有自己特殊的应用。
- 作用:比如注册邮箱,邮箱有用户名和密码,一般会对其限制长度,这个限制长度的事情就是正则表达式做的
- B:案例演示
-
需求:校验qq号码.
- 1:要求必须是5-15位数字
- 2:0不能开头
- 3:必须都是数字
-
a:非正则表达式实现
-
b:正则表达式实现
-
###14.02_常见对象(字符类演示)
- A:字符类
- [abc] a、b 或 c(简单类)
- [^abc] 任何字符,除了 a、b 或 c(否定)
- [a-zA-Z] a到 z 或 A到 Z,两头的字母包括在内(范围)
- [0-9] 0到9的字符都包括
###14.03_常见对象(预定义字符类演示)
- A:预定义字符类
- . 任何字符。
- \d 数字:[0-9]
- \w 单词字符:[a-zA-Z_0-9]
###14.04_常见对象(数量词)
- A:Greedy 数量词
- X? X,一次或一次也没有
- X* X,零次或多次
- X+ X,一次或多次
- X{n} X,恰好 n 次
- X{n,} X,至少 n 次
- X{n,m} X,至少 n 次,但是不超过 m 次
###14.05_常见对象(正则表达式的分割功能)
- A:正则表达式的分割功能
- String类的功能:public String[] split(String regex)
- B:案例演示
- 正则表达式的分割功能
###14.06_常见对象(把给定字符串中的数字排序)
- A:案例演示
- 需求:我有如下一个字符串:”91 27 46 38 50”,请写代码实现最终输出结果是:”27 38 46 50 91”
###14.07_常见对象(正则表达式的替换功能)
- A:正则表达式的替换功能
- String类的功能:public String replaceAll(String regex,String replacement)
- B:案例演示
- 正则表达式的替换功能
###14.08_常见对象(正则表达式的分组功能)
- A:正则表达式的分组功能
- 捕获组可以通过从左到右计算其开括号来编号。例如,在表达式 ((A)(B©)) 中,存在四个这样的组:
-
1 ((A)(B(C))) 2 (A 3 (B(C)) 4 (C) 组零始终代表整个表达式。
- B:案例演示
a:切割
需求:请按照叠词切割: “sdqqfgkkkhjppppkl”;
b:替换
需求:我我…我…我.要…要要…要学…学学…学.编…编编.编.程.程.程…程
将字符串还原成:“我要学编程”。
###14.09_常见对象(Pattern和Matcher的概述) - A:Pattern和Matcher的概述
- B:模式和匹配器的典型调用顺序
-
通过JDK提供的API,查看Pattern类的说明
-
典型的调用顺序是
-
Pattern p = Pattern.compile(“a*b”);
-
Matcher m = p.matcher(“aaaaab”);
-
boolean b = m.matches();
-
###14.10_常见对象(正则表达式的获取功能)
- A:正则表达式的获取功能
- Pattern和Matcher的结合使用
- B:案例演示
- 需求:把一个字符串中的手机号码获取出来
###14.11_常见对象(Math类概述和方法使用)
- A:Math类概述
- Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
- B:成员方法
- public static int abs(int a)
- public static double ceil(double a)
- public static double floor(double a)
- public static int max(int a,int b) min自学
- public static double pow(double a,double b)
- public static double random()
- public static int round(float a) 参数为double的自学
- public static double sqrt(double a)
###14.12_常见对象(Random类的概述和方法使用)
- A:Random类的概述
- 此类用于产生随机数如果用相同的种子创建两个 Random 实例,
- 则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。
- B:构造方法
- public Random()
- public Random(long seed)
- C:成员方法
- public int nextInt()
- public int nextInt(int n)(重点掌握)
###14.13_常见对象(System类的概述和方法使用)
- A:System类的概述
- System 类包含一些有用的类字段和方法。它不能被实例化。
- B:成员方法
- public static void gc()
- public static void exit(int status)
- public static long currentTimeMillis()
- pubiic static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
- C:案例演示
- System类的成员方法使用
###14.14_常见对象(BigInteger类的概述和方法使用)
- A:BigInteger的概述
- 可以让超过Integer范围内的数据进行运算
- B:构造方法
- public BigInteger(String val)
- C:成员方法
- public BigInteger add(BigInteger val)
- public BigInteger subtract(BigInteger val)
- public BigInteger multiply(BigInteger val)
- public BigInteger divide(BigInteger val)
- public BigInteger[] divideAndRemainder(BigInteger val)
###14.15_常见对象(BigDecimal类的概述和方法使用)
- A:BigDecimal的概述
-
由于在运算的时候,float类型和double很容易丢失精度,演示案例。
-
所以,为了能精确的表示、计算浮点数,Java提供了BigDecimal
-
不可变的、任意精度的有符号十进制数。
-
- B:构造方法
- public BigDecimal(String val)
- C:成员方法
- public BigDecimal add(BigDecimal augend)
- public BigDecimal subtract(BigDecimal subtrahend)
- public BigDecimal multiply(BigDecimal multiplicand)
- public BigDecimal divide(BigDecimal divisor)
- D:案例演示
- BigDecimal类的构造方法和成员方法使用
###14.16_常见对象(Date类的概述和方法使用)(掌握)
- A:Date类的概述
- 类 Date 表示特定的瞬间,精确到毫秒。
- B:构造方法
- public Date()
- public Date(long date)
- C:成员方法
- public long getTime()
- public void setTime(long time)
###14.17_常见对象(SimpleDateFormat类实现日期和字符串的相互转换)(掌握)
- A:DateFormat类的概述
- DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。是抽象类,所以使用其子类SimpleDateFormat
- B:SimpleDateFormat构造方法
- public SimpleDateFormat()
- public SimpleDateFormat(String pattern)
- C:成员方法
- public final String format(Date date)
- public Date parse(String source)
###14.18_常见对象(你来到这个世界多少天案例)(掌握)
- A:案例演示
- 需求:算一下你来到这个世界多少天?
###14.19_常见对象(Calendar类的概述和获取日期的方法)(掌握)
- A:Calendar类的概述
- Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
- B:成员方法
- public static Calendar getInstance()
- public int get(int field)
###14.20_常见对象(Calendar类的add()和set()方法)(掌握)
- A:成员方法
- public void add(int field,int amount)
- public final void set(int year,int month,int date)
- B:案例演示
- Calendar类的成员方法使用
###14.21_常见对象(如何获取任意年份是平年还是闰年)(掌握)
- A:案例演示
- 需求:键盘录入任意一个年份,判断该年是闰年还是平年