Java学习之 String,StringBuilder,StringJoiner


import java.util.Arrays;

public class javaString {
	public static void main (String[] args) {
		// String字符串
		String string = new String("devZhang");
		System.out.println(string);
		String name = "Hello World";
		System.out.println(name);
		
		// 长度
		System.out.println(name.length());
		// 过滤首尾空白字符(\t \r \n)
		System.out.println(name.trim());
		// 过滤首尾空白字符(\t \r \n,及中文空白字符)
		System.out.println(name.strip());
		System.out.println(name.stripLeading());
		System.out.println(name.stripTrailing());
		// 空字符
		System.out.println("空字符:" + name.isEmpty());
		System.out.println("空白字符:" + name.isBlank());
		
				
		// 大小写
		System.out.println();
		System.out.println(name);
		name = name.toUpperCase();
		System.out.println(name);
		name = name.toLowerCase();
		System.out.println(name);
		
		// 比较
		System.out.println();
		System.out.println(name);
		System.out.println(name == "hello World");
		System.out.println(name.equals("hello World"));
		System.out.println(name.equalsIgnoreCase("hello World"));
		// 大小比较 =0 A==B, >0 A<B, <0 A>B
		System.out.println(name);
		System.out.println(name.compareTo("world")); 
		System.out.println(name.compareTo("Hello World"));
		System.out.println(name.compareTo("hello world"));
		
		// 子串
		System.out.println();
		System.out.println(name);
		System.out.println("是否包含:" + name.contains("devZhang"));
		System.out.println("字符串o所在位置:" + name.indexOf("o"));
		System.out.println("最后一个字符串o所在位置:" + name.lastIndexOf("o"));
		System.out.println("是否world开头:" + name.startsWith("world"));
		System.out.println("是否world结尾:" + name.endsWith("world"));
		System.out.println("提取第2个位置开始的子串:" + name.substring(2));
		System.out.println("提取第2个位置开始长度为5的子串:" + name.substring(2, 5));
		
		// 替换子串
		System.out.println();
		System.out.println(name);
		System.out.println("world 替换成 devZhang:" + name.replace("world", "devZhang"));
		
		// 分割字符串
		System.out.println();
		System.out.println(name);
		String names[] = name.split(" ");
		System.out.println("分割字符串为数组:" + Arrays.toString(names));
		
		// 拼接字符串
		System.out.println();
		System.out.println(name);
		System.out.println("拼接数组为字符串:" + String.join(",", names));
		
		// 类型转换
		System.out.println();
		String numStr = "098880";
		System.out.println(numStr);
		String intStr = String.valueOf("123500");
		System.out.println(intStr);
		Boolean boolValue = Boolean.parseBoolean("true");
		System.out.println(boolValue);
		int intValue = Integer.parseInt("123456");
		System.out.println(intValue);
		
		// char互转
		System.out.println();
		char[] charValue = name.toCharArray();
		System.out.println(charValue);
		String strValue = new String(charValue);
		System.out.println(strValue);
		
		// 编码 byte数组
		byte[] byteValue1 = name.getBytes();
		System.out.println(Arrays.toString(byteValue1));
		

		// 字符串连接
		System.out.println(name.concat(", haha~"));
		System.out.println(name + ", ao~~~");
		// 格式化字符串
		String strFormat = String.format("%s is from %s", name, "深圳");
		System.out.println(strFormat);
		System.out.printf("%s is learning Java", name);
		
		
		/*
		 * StringBuilder,它是一个可变对象,可以预分配缓冲区,这样,往StringBuilder中新增字符时,不会创建新的临时对象.
		 * 
		 * 
		 */
		StringBuilder strBuilder = new StringBuilder();
		for (int i = 0; i < 30; i++) {
			// append 字符拼接
			strBuilder.append(i);
			strBuilder.append(","); 
		}
		System.out.println(strBuilder);
		// 字符删除
		strBuilder.delete(strBuilder.length() - 1, strBuilder.length());
		System.out.println(strBuilder);
		strBuilder.deleteCharAt(10);
		System.out.println(strBuilder);
		// 字符替换
		strBuilder.replace(10, 11, "devZhang,");
		System.out.println(strBuilder);
		
		// 链式操作
		StringBuilder nameBuilder = new StringBuilder();
		nameBuilder.append("devZhang").append(" is learning").append("Java.");
		System.out.println(nameBuilder);
		
		/*
		 * StringJoiner用分隔符拼接数组
		 */
		String[] names = {"devZhang", "devWang", "devLi"};
		System.out.println(Arrays.toString(names));
		StringJoiner nameJoiner = new StringJoiner(",");
		for (String name : names) {
			nameJoiner.add(name);
		}
		System.out.println(nameJoiner);


		
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

番薯大佬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值