Java 13
一、API (Application ProgrammingInterface -> 应用程序编程接口)
- Java中的API
- 指的是JDK中提供的各种功能的Java类,这些类将底层的实现封装起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。
- Object类
- Objgect是类层次结构的根,每个类都可以将Object作为超类,所有类都直接或者间接的继承Object类。
- 构造方法
- public Object ()
- 顶级父类 Object 中只有无参构造方法。
二、Objcet类
- toString()
- 一般情况下,对象重写toString,为了输出对象所有成员属性的值。
- String字符串原理
- String对象用于保存字符串,也就是一组字符序列;
- 字符串常量对象是用双引号括起来的字符序列;
- 字符串的字符使用Unicode字符编码,一个字符(不区分字母还是汉字),占用2个字节。
- String比较常用的构造器
- String s1 = new String()
- String s2 = new String(String original)
- String s3 = new String(char[] c)
- String s4 = new String(char[] c, int startIndex, int count)
- String实现了Serializable,说明String对象可以比较
- String实现类Comparable接口,说明String对象可以比较
- String是final不可以被继承,不可以被修改(内存地址不可以修改,内容是可以修改的),实际上通过char数组实现。
- String的equals
- Object中的equals方法是直接判断his和obj本身的值是否相等。(实际情况是在比较内存地址)
- 比较两个字符串的值是否相等,可以用equals
- 格式:Boolean result = str1.equals(str2) ; //返回值为bool类型,Java中是Boolean类型
如果自定义的对象没有重写Object父类
- equals:比较两个对象值是否相同
- ==:比较两个对象的内存地址是否相同
-
- instanceof关键字
- instanceof通过返回一个布尔值来指数,某个对象是否是某个特定类或者该特定类子类的一个实例。
- 格式:
- 对象的引用 instanceof 具体的类型(类或者接口)
- 返回值:booler
- 如果boject是class的一个实例,则instanceof运算符返回true。如果object不是指定类的一个实例,或者object是null,则返回false。class可以是类,也可以是接口。
- instanceof在java的编译状态和运行状态时有区别的:
- 在编译状态中,class可以是object对象的父类、自身类、子类。在这三种情况下java编译时不会报错。
- 在运行状态中,class可以是object对象的父类、自身类,不能是子类。在前两种情况下result的结果为true,最后一种为false。但是class为子类时编译不会报错。运行结果为false。(大致就是判断表达式:class 变量=(class)object 的引用是否成立。)
- String遍历字符串
- 键盘录入一个字符串,用Scanner实现
- 遍历字符串,首先要能够获取到字符串中的每一个字符
public char chartAt(int index) //返回指定索引处char值,字符串索引也是从0开始的。
-
- 遍历字符串,其次要能够获取字符串的长度
public int length() //返回字符串长度
-
- 数组的长度:数字名.length
- 字符串的长度:字符串对象.length()
//自写String遍历字符串 import java.util.Scanner;//使用Scanner方法必须引用这个包 public class TraverseString { public static void main(String[] args) { System.out.println("请输入一个字符串:");//控制台输出提示 输入字符串 Scanner scanner = new Scanner(System.in);//创建scanner方法 String s = scanner.nextLine();//声明变量s,用来接收输入 for (int i=0; i<s.length(); i++){//开始遍历s里面的内容 System.out.println(s.charAt(i));//charAt是用来输出字符串对应下标的字符串数组 } } }
- replace替换方法
- 用途:
- 格式:str.replace("被替换内容","替换内容")
- replace() :方法用于将目标字符串中的指定字符(串)替换成新的字符(串)
- replaceAll(): 方法用于将目标字符串中匹配某正则表达式的所有子字符串替换成新的字符串
- replaceFirst():方法用于将目标字符串中匹配某正则表达式的第一个字符串替换成新的字符串
String str1 = "hello world"; String str2 = str1.replace("world","java"); System.out.println(str2);//输出结果为:hello java
- split 分割
- 用法:返回数组类型
- 格式:
String str = "str1|str2|str3"; String[] array = str.split("\\|");// \\这里是转义字符
-
- 注意事项:
- split表达式,其实就是一个正则表达式。* ^ | 等符号在正则表达式中属于一种特殊含义字符,如果使用此种字符作为分隔符,必须使用转义符,即:\\
- 注意事项: