2021年7月30日
讲师:王博
昨天回顾
static关键字
修饰成员变量:
类名.属性
内存里面在数据区,和堆还有栈没有关系,也就意味着和对象没有关系
修饰成员方法
类名.方法
内存里面在方法区,和对象也没有关系
静态的成员方法,不能使用非静态的成员属性和成员方法
修饰代码块:
静态代码块
static{}
静态代码块早有构造方法的执行,早于对象的创建
异常
Throwable类
error类
exception类
异常的处理:
一种捕捉 一种抛出
try{
可能出异常的代码
}catch(异常的对象){
异常的信息
}
throw抛的动作,后面跟的是异常对象
throws在方法的声明出,告诉调用这,如果你在调用这个方法的时候,有可能发生的异常。
String类
==:比较地址和内容
比较的是地址,在栈区内容一样,地址就一样
八大基本数据类型和String 都是在栈区
equals:
比较内容
开发中用equals方法
今日内容:
·String类下面的方法
String类下面的方法
获取字符串的长度 int length();
获取特定位置的字符 char charAt(int index);
获取特定字符串的位置 int indexOf(String str);
获取最后一个字符的位置 int lastIndexOf(int ch);
package com.liujinghe.a_string;
public class Demo1 {
public static void main(String[] args) {
String str = "多复习会有惊喜";
System.out.println(str.length());//7
System.out.println(str.charAt(3));//会
//特定字符第一次出现的位置 索引
System.out.println("小明❤小红".indexOf('❤'));
System.out.println("中华人民共和国万岁".indexOf("人民"));
}
}
是否以指定的字符结束 boolean endsWith(String str);
是否长度为0 boolean isEmpty();
是否包含指定的字符串 boolean contains(String str);
忽略大小写是否相等 boolean equalsIgnoreCase(String otherString);
package com.liujinghe.a_string;
public class Demo2 {
public static void main(String[] args) {
//以字符串的某一部分为结尾的时候,才返回true
System.out.println("demo1.java".endsWith("java"));
System.out.println("".isEmpty());//true 判断字符串是否为空
String str = "java2019";
System.out.println(str.contains("a2"));//true
System.out.println("abc".equals("aBc"));//false
System.out.println("abc".equalsIgnoreCase("aBc"));//true
}
}
将字符数组转为字符串的数组
String(cahr [] chs)
String (char [] ,int offset,int count)
valueOf(char [] chs);
将字符串转为字符数组
char [] toCharArray()
package com.liujinghe.a_string;
public class Demo3 {
public static void main(String[] args) {
char [] chars = {'a','b','c','d','e'};
String s = new String(chars);
System.out.println(s);
//偏移1个,取2 偏移量,取的个数
String s1 = new String(chars, 1, 2);
System.out.println(s1);
//valueOf()将字符数组转为字符串
String s2 = String.valueOf(chars);
System.out.println(s2);
char[] chars1 = "这个是字符串".toCharArray();
System.out.println(chars1);
for (int i = 0; i < chars1.length; i++) {
System.out.print(chars1[i]);
}
}
}
替换 String replace(char oldChar,char newChar);
切割字符串 String [] split(String regx);
截取字符串 String subString(int beginIndex);
String subString(int beginIndex,int endIndex);
将小写的转为大写的字母 String toUpperCase();
将大写的转为小写的字母 String toLowerCase();
去首尾空格 String trim();
package com.liujinghe.a_string;
public class Demo4 {
public static void main(String[] args) {
System.out.println("abcdefgh".replace('a','A'));
String str = "呵呵哒,么么哒,嘻嘻哒";
//碰到,就切割
String[] split = str.split(",");
for (int i = 0; i < split.length; i++) {
System.out.println(split[i]);
}
//字符串的截取 beginIndex 包含截取,前闭后开,要头不要尾
System.out.println("0123456".substring(2));
System.out.println("0123456".substring(2,4));
System.out.println("abcd".toUpperCase());
System.out.println("ABCD".toLowerCase());
System.out.println(" he he ".trim());
}
}
StringBuffer
package com.liujinghe.a_string;
public class Demo6 {
public static void main(String[] args) {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("小明");
stringBuffer.append("小红");
System.out.println(stringBuffer);
int capacity = stringBuffer.capacity();
System.out.println(capacity);
System.out.println(stringBuffer.reverse());
/**
* String 值不可改变
* StringBuffer 值是可变的,线程安全的
*/
}
}
length
charAt
indexOf
lastIndexOf
endswith
isEmpty
contains
equalsIgnoreCase
valueOf
toCharArray
replace
split
subString
toUpper
toLower
trim