昨日内容回顾
面向对象
面向对象
偷懒,有事找别人完成;我们只指挥;
面向过程
自己干活;强调的是每一个步骤;
类
概述
模板,图纸,描述事物;
格式
public class 类名{
}
组成部分
- 成员变量
- 成员方法
- 构造方法
对象
概述
具体的事物;(个体)
创建对象
类名 对象名 = new 类名(实参);
使用对象
私有的成员变量,只能通过调用setter方法或构造方法存值;通过getter方法取值;
对象名.setXxx(实参);
关系
一个类可以创建出很多对象,(类是描述对象的)
每个对象都一定是来自于某个类;(对象是类的具体体现)
private
私有的,可以修饰成员变量,成员方法,构造方法;一般用于修饰成员变量;
外界不能直接使用了,需要提供对应的getter和setter方法;
this
概述
当前对象;谁调用方法,谁就是当前对象;
作用
主要用于区分局部变量和成员变量重名;
构造方法
概述
用来创建对象的方法就是构造方法;
格式
public 类名(形参){
给成员变量赋值;
}
作用
- 创建对象
- 创建对象的过程中,给成员变量赋值
执行时机
- 每次创建对象的时候,都会执行;
套路
- 编写模型类(图纸类)
- 成员变量
- 成员方法
- 构造方法
- 编写测试类
- 写main方法
- 根据模型类创建对象;(利用的是模型类中的构造方法)
- 面向对象,调用方法,一旦方法执行了,我们就能得到方法执行的结果;
今日内容
API(了解)
API概述
API文档
描述java写好的类的一个对应的文档;(参考手册)
如何查询API文档(会用)
关于Scanner的next和nextLine方法对比(了解)
String
概述
java中所有的字符串都可以看成是String类的对象;将来就可以面向对象,调用方法;
特点
字符串对象一旦创建成功,内容不可改变;(常量)
构造方法
构造方法创建的字符串对象与双引号创建的字符串对象有什么区别?
字符串拼接相关的操作
拼接结论
拼接原理图
常用方法(重点)
比较相关
- equals(“要比的字符串”) 比较内容是否相同;
- equalsIgnoreCase(“忽略大小写的字符串”) 忽略大小写比较内容是否相同;
例如:
字符串遍历的方法
- length() 可以获取字符串的长度
- charAt(索引); 可以根据指定的索引获取对应位置的字符;
- toCharArray(); 直接把字符串转成字符数组;
例如:
字符串的截取
字符串的内容替换
字符串的切分
String[] split(字符串b);
使用一个字符串对象a,调用split方法,传递另一个字符串b,会使用字符串b对字符串a进行切分,最终会返回切出来的字符串数组;
特殊情况:
1. 如果被切分的字符串a的头部符合切分条件,切分后,头部会保留一个长度为0的空字符串;
2. 如果被切分的字符串a的尾部符合切分条件,切分后,尾部会舍弃这个长度为0的空字符串;
3. 如果被切分的字符串a中包含".",并且希望使用"."进行切分,需要写成:"\\."的形式,才能正确的切分;
注意
字符串中所有的方法都不会改变字符串的值,运算后会得到一个新的结果,必须使用变量接收才能看到方法执行的效果,否则原来的字符串变量是不会改变的;
StringBuilder类
概述
可以看成是java编写的一个专门用于解决字符串拼接效率的类;(容器)
StringBuilder类的对象的内容可以随便改变;
作用
专门用于解决字符串拼接效率;
构造方法
常用方法(重点)
注意事项
append为了让我们调用的时候,能传递任意数据类型的参数,所以java设计了大量的重载;
append为了让我们调用的时候,能够批量的添加数据,所以这个方法设计的返回值是返回本身;
返回本身可以使用链式编程;
链式编程(难点)
使用一个方法返回的对象,继续调用方法,这就是链式编程;
使用链式编程的前提
- 方法必须返回的是一个对象,才能使用链式编程;
String与StringBuilder的区别
String与StringBuilder的相互转换
- 为什么要把String转成StringBuilder?
因为有时候需要进行拼接,反转的操作,直接以字符串类型进行拼接效率低,字符串类型不具备反转的能力,所以我们需要将String转成StringBuilder;
- 为什么要把StringBuilder转成String?
如果涉及到字符串内容的比较时,需要将StringBuilder转成String,因为STringBuilder里面没有equals方法;
而String类的equals("要比的字符串")方法可以比较内容,设置还有忽略大小写比较的方法;
如何转
String --> StringBuilder 利用StringBuilder 类的带参数构造方法即可;
StringBuilder --> String 利用StringBuilder 类的toString()方法即可;