今天跟着刘意老师上了第十二天的JAVASE
主要学了Scanner类和String类
Scanner类那个 Inputstream is=System.in没听太懂
String类记下来了几点注意事项:
- 直接输出对象名称本质就是调用toString方法
- String.isEmpty 判断字符串是否为空 若是“”则为空;若是null就报错空指针异常 因为连对象都没有不能调方法
- 字节类型是字符类型对应的ascii编码
- 当获取一个字符的时候 用substring返回的还是一个字符串类型的结果 如果用charAt返回的就是一个字符了
一、String类的构造方法(串内可为字节、字符、字符串)
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):把字符串常量值转成字符串 下面的这一个虽然不是构造方法,但是结果也是一个字符串对象 String s = "hello";
二、字符串的特点
A:字符串一旦被赋值,就不能改变。
注意:这里指的是字符串的内容不能改变,而不是引用不能改变。
B:字面值作为字符串对象和通过构造方法创建对象的不同
String s = new String(“hello”);和String s = "hello"的区别
三、==和equals
由于String重写了equals方法,所以equals比较两字符串的字面值,而= =比较了两字符串的地址值。
四、字符串的功能
A:判断功能
-
boolean equals(Object obj):比较字符串的内容是否相同,区分大小写
-
boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
-
boolean contains(String str):判断大字符串中是否包含小字符串
-
boolean startsWith(String str):判断字符串是否以某个指定的字符串开头
-
boolean endsWith(String str):判断字符串是否以某个指定的字符串结尾
-
boolean isEmpty():判断字符串是否为空。
B:获取功能
-
int length():获取字符串的长度。
-
char charAt(int index):获取指定索引位置的字符
-
int indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引。
-
为什么这里是int类型,而不是char类型?
-
原因是:'a'和97其实都可以代表'a'
-
int indexOf(String str):返回指定字符串在此字符串中第一次出现处的索引。
-
int indexOf(int ch,int fromIndex):返回指定字符在此字符串中从指定位置后第一次出现处的索引。
-
int indexOf(String str,int fromIndex):返回指定字符串在此字符串中从指定位置后第一次出现处的索引。
-
String substring(int start):从指定位置开始截取字符串,默认到末尾。
-
String substring(int start,int end):从指定位置开始到指定位置结束截取字符串。
C:转换功能
-
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):把字符串拼接。
D:其他功能 a:替换功能 String replace(char old,char new) String replace(String old,String new) b:去空格功能 String trim() c:按字典比较功能 int compareTo(String str) int compareToIgnoreCase(String str)