面向对象JAVA核心编程:
JDK:开发工具包
API:开发说明书
String类及其用法
StringBuilder 、 StringBuffer
正则表达式(验证)
Object超类及其两个方法(toString 、 equals)
日期类(Date) 日历类(Calendar)
基本数据类型的包装类
文件操作
一 :JDK API
1.什么是API:在java中已经存在一些封装好的不同功能性的系统类库
其实就是使用系统类时的一个说明书
列如: scanner 、 Math 、 Arrays
2.常用的包:
(1)java.lang:Java中的常用基础类包、在使用不需要通过import导入lang包,可以直接使用。如:基本类型、String……
(2)java.util:java中的工具包,包含一些常用的工具类:如Scanner、Date 、集合……
(3) java.io:java中的io流包,包含一些文件操作,输入流\输出流的操作……
(4)java.text:java中处理文本信息的包,包含一些:文字处理、数字处理、信息处理……
3.如何通过API文档查找到一个系统功能类
(1)通过查找包,在查找包下的类即可
(2)直接通过索引方式查找对应
4.如何定义一个 API 文档
(1)首先右击项目选中导出、选中java文件夹下的javadoc
(2)在选择导出编码格式时要根据当前项目的编码格式一致导出
(3)在导出过程中会在项目下生产一个doc文件夹,文件夹中包含一些html文件。
5.java中的注释:
(1)单行注释://快捷键:Ctrl+/
(2)多行注释:/* /快捷键ctrl+shift+/
(3)文档注释:/* */解释当前类中的信息
单行注释和多行注释:主要是注释java代码中的一些程序不需要执行的解释代码信息,也可以注释一些没有用到的代码
文档注释:解释当前java文档中的一些定义功能的解释信息。
二:String类及其使用
String类定义字符串,是常量不可以被修改,但是引用可以指向不同的常量
String类的特点:
1. java.lang.String使用了final修饰,不能被继承
2. 字符串底层封装了字符数组及针对字符数组的操作算法;
3. 字符串一旦创建,对象永远无法改变,但字符串引用可以重新赋值;
4. Java字符串在内存中采用Unicode编码方式,任何一个字符对应两个字节的定长编码
String作为类定义在long包下,直接父类是ava.lang.Object
String类是被final修饰的,表示该类不可以被继承。
判断两个字符串是否相同:
==:只是判断两个字符串地址是否相同
equals方法判断两个字符串中的内容是否相同
如果以后判断比较两个字符串是否相同则使用equals方法
String常量池:存储静态字符串,如果程序中出现重复的字符串常量时,JVM首先会到常量池中去查找,如果存在的话那么直接调用常量池中的常量,如果不存在则在常量池中创建出来
Unicode编码:存储字符是2个字节大小
UTF-8编码:存储字符是1~3个字节大小
GBK编码:存储字符是1~2个字节大小
ASCII码表:存储字符是1个字节大小
String类中的常用方法:
- length方法:返回此字符串的长度。
- indexOf方法:在原字符串中查找子字符串第一次出现的下标位置
(1)下标是从0开始查找的类似于数组的方式
indexOf(String str, int fromIndex):在原字符串中通过指定位置下标开始查找字符串,如果存在则返回该字符串的下标,不存在则返回-1 。 - lastIndexOf(String str,int fromIndex):从原字符串中指定位置开始反向查找子字符串最后一次出现的下标位置。
****注意:是从指定位置反向查找子字符串位置
lastIndexOf(String str):原字符串的最右边开始查找字符串最后一次出现的下标位置。 - substring:获取原字符串的子字符串
String sustring( int beginIndex,int endIndex):从指定的位置开始截取(包括指定位置),截取到指定位置结束(不包括结束位置)
String substring(int beginIndex):从指定的位置开始截取(包含),一直到该字符串的末尾结束。 - trim:去除一个字符串的前导和后继的空白字符
- charAt(int index):指定字符串中的下标,返回下标的字符。如果下标超出了字符串长度则会抛出异常:
字符串下标越界异常:StringIndexOutOfBoundsException
通过for循环遍历字符串,通过charAt获取字符串中每个下标对应的字符。
7.startsWith和endsWith:判断当前字符串是否以指定的字符串开始或者结尾。 - toUpperCase和toLowerCase:将英文字母转换成大小写格式:
toUpperCase:将英文字母转换成大写
toLowerCase:将英文字母转换成小写
9.valueOf方法:将其他数据类型转换成字符串类型
三: StringBuilder及其API使用
StringBuilder是封装可变的字符串序列。可以通过StringBuilder中的方法对常量池中的字符串做修改操作(增删改查操作)
StringBuilder类的常用方法 : 功能描述
StringBuilder append(String str) 追加字符串
StringBuilder insert(int dstOffset , String s) 插入字符串
StringBuilder delete(int start , int end) 删除字符串
Stringbuilder replace(int start , int end , String str) 替换字符串
StringBuilder reverse() 字符串反转
StringBuilder:是存储在java.lang包下的一个可变的字符序列类。直接父类是Object,也是被final修饰的类不可以被继承。
定义:public final class StringBuilderextends Object
StringBuilder:和StringBuffer在用法上是完全一致,但是性能上是不同的,StringBuilder性能比StringBuffer要稍快,StringBuffer比StringBuilder要安全。
StringBuilder在创建对象时,必须通过new创建。
不能像String类
StringBuilder中 的常用方法
1.append 追加字符串: 向StringBuilder对象的后面追加字符串内容。
2. insert方法:向StringBuilder对象指定的下标处插入信息内容。
3. delete方法:通过指定的起始下标删除和结束删除StringBuilder对象的内容:
***注意:起始位置包含,结束位置不包含。
4.replace:通过指定位置下标将内容替换成指定字符串
***注意:起始位置包含,结束位置不包含。
5.reverse方法:将对象内容反转
— StringBuffer 是线程安全的,同步处理的,性能稍慢
— StringBuilder是非线程安全的,并发处理的,性能稍快