1.String
public class test01 {
public static void main(String[] args) {
// String s = new String();
String a = " aa白日依山1尽,黄河入海1流,欲穷千里1目,更上一层楼bb ";
//常用方法
//1. 获取字符长度
System.out.println(a.length());
//2.转为String数组
String[] split = a.split(",");
System.out.println(Arrays.toString(split));
//3.字母大小写切换
System.out.println(a.toUpperCase());
System.out.println(a.toLowerCase());
//4.去掉两端空格
System.out.println(a.trim());
//5.判断是否包含
System.out.println(a.contains("山"));
//6.获取某个字符串
System.out.println(a.charAt(5));
//7.截取子串
//从startIndex开始,直接截取到最后
System.out.println(a.substring(3));
System.out.println(a.substring(3, 5));
//8.查找某个子串第一次/最后一次出现的位置
System.out.println(a.indexOf("1"));
System.out.println(a.indexOf("1", 5)); // 从第五个开始找
System.out.println(a.lastIndexOf("1"));
//9.将字符串转为对应的字符或者字节数组
char[] chars = a.toCharArray();
System.out.println("转换后的字符数组:" + Arrays.toString(chars));
//将字符串变为一个字节数组
byte[] bytes = a.getBytes(StandardCharsets.UTF_8);
System.out.println("转换后的字节数组:" + Arrays.toString(bytes));
//10.以xx开头或结尾
System.out.println(a.startsWith("1"));
System.out.println(a.endsWith("日"));
//11.字符串的拼接
System.out.println(a.concat("aaa"));
//12.替换
System.out.println(a.replace("1", "2"));
//13.判空
System.out.println(a.isEmpty());
//14.将字符串数组用指定的符号连接起来,变为一个字符串
// char[] ccs = {'1','2','5'};
String[] aaa = {"111","2222","3333"};
String result = String.join("-",aaa);
System.out.println(result);
}
}
2.两个SB(StringBuffer、StringBuilder)
若要经常进行字符串的拼接,即要修改字符串的值,我们使用两个sb去实现
区别:
1.联系:都是可变字符串 使用方式 : 即方法调用几乎一样
2.在多线程的情况下,建议使用StringBuffer
StringBuffer stringBuffer = new StringBuffer();
//1.append添加
stringBuffer.append("aaaa").append("abcd");
System.out.println(stringBuffer.toString());
//2.reverse 反转
System.out.println(stringBuffer.reverse());
//3.insert具体地址添加
StringBuffer aabbcc = stringBuffer.insert(1, "aabbcc");
System.out.println(aabbcc);
3.File类
4.io流导入
public class Test01 {
public static void main(String[] args) throws IOException {
InputStream is = new FileInputStream("E:\\ZZZ\\01.png");
OutputStream os = new FileOutputStream("E:\\ZZZ\\02.png");
int num;
// 计时开始
long s1 = System.currentTimeMillis();
//开始复制"E:\\ZZZ\\01.png"文件
while ((num = is.read()) != -1) {
// 粘贴到"E:\\ZZZ\\02.png"
os.write((char)num);
}
long s2 = System.currentTimeMillis();
System.out.println("用时:"+(s2-s1));
//计时结束
}
}