java学习笔记3——字符串

给字符串赋值

给字符串赋值可以直接引用字符串常量,也可以利用构造方法。前者过于简单,这里重点整理常用的字符串构造方法。

利用已有字符串实例化

List item

		String a = "nice";
		String b = new String(a);
		System.out.println(b);//nice

或者

		String b = new String("nice");
		System.out.println(b);//nice

利用字符数组实例化

在这里插入图片描述

		char[] chA = {'一','寸','光','阴','一','寸','金'};
		String a = new String(chA);
		System.out.println(a);//一寸光阴一寸金

在这里插入图片描述

		char[] chA = {'一','寸','光','阴','一','寸','金'};
		String a = new String(chA,2,2);
		System.out.println(a);//光阴

利用字节数组实例化

在这里插入图片描述

		byte[] byA = {-60,-29,-70,-61};
		String a = new String(byA);
		System.out.println(a);//你好

字符串对应的字符数组可以用String类的getBytes()方法获取。
在这里插入图片描述

		String a = "你好";
		byte[] byA = a.getBytes();
		for(byte b:byA) {
			System.out.print(b);
		}

我也不知道这种方法有什么实际用处,但是String类的构造方法中有一大半是用到字节数组的,想来应该很重要吧。
在这里插入图片描述

字符串的方法

获取字符串长度

在这里插入图片描述

		String a = "abc";
		System.out.println(a.length());//3

字符串查找

在这里插入图片描述
在这里插入图片描述

		String a = "abcabc";
		System.out.println(a.indexOf('a'));//0
		System.out.println(a.indexOf('a',1));//3

在这里插入图片描述
在这里插入图片描述

		String a = "abcabc";
		System.out.println(a.lastIndexOf('a'));//3
		System.out.println(a.lastIndexOf('a',2));//0

若找不到,就会返回-1

获取指定位置字符

在这里插入图片描述

		String a = "abcabc";
		System.out.println(a.charAt(3));//a

获取子字符串

在这里插入图片描述

在这里插入图片描述

		String a = "abcabc";
		System.out.println(a.substring(2));//cabc
		System.out.println(a.substring(2,4));//ca

下面这种方法并不是到endIndex为止,而是到endIndex-1为止

去除空格

在这里插入图片描述

		String a = "   abcabc";
		System.out.println(a);//   abcabc
		System.out.println(a.trim());//abcabc

此方法并不能去除字符串中间的空格

字符串替换

在这里插入图片描述

		String a = "abcabc";
		System.out.println(a.replace("ab", "12"));//12c12c

在这里插入图片描述
上一条里中间的空格可以利用该方法去除

		String a = "abc  abc";
		System.out.println(a);//abc  abc
		System.out.println(a.trim());//abc  abc
		System.out.println(a.replaceAll("\\s", ""));//abcabc

判断字符串的开始和结尾

在这里插入图片描述
在这里插入图片描述

		String a = "abcabcd";
		System.out.println(a.startsWith("abc"));//true
		System.out.println(a.endsWith("abc"));//false

判断字符串是否相等

若关系符判断是否相等,会出现错误

		String a = new String("abc");
		String b = new String("abc");
		
		String c = "efg";
		String d = "efg";
		
		System.out.println(a == b);
		System.out.println(c == d);

原因如图:
在这里插入图片描述
不同String类对象的值保存在不同的栈中,存储的内存空间就不一样,所以会返回false
在这里插入图片描述
相同的匿名常量只要创建过,java就不会再次创建,因此存储的内存空间是一样,所以返回true
在这里插入图片描述

		String a = new String("abc");
		String b = new String("abc");
		System.out.println(a.equals(b));//true

大小写转换

在这里插入图片描述
在这里插入图片描述

		String a = "abc EFG";
		System.out.println(a.toUpperCase());//ABC EFG
		System.out.println(a.toLowerCase());//abc efg

字符串分割

在这里插入图片描述

		String a = "abc efg hij klm";
		String[] A = a.split(" ");
		for(String b:A) {
			System.out.println(b);
		}
		//abc
		//efg
		//hij
		//klm

字符串格式化

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

		Date date = new Date();
		System.out.print(String.format("%tY",date)+"年");
		System.out.print(String.format("%tm",date)+"月");
		System.out.print(String.format("%te",date)+"日");
		System.out.print(String.format("%tH",date)+"时");
		System.out.print(String.format("%tM",date)+"分");
		System.out.print(String.format("%tS",date)+"秒");
		//2022年02月15日23时23分33秒

正则表达式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值