java入门-Character 类和String类

一、Character 类

1、定义

Character 类用于对单个字符进行操作。

看示例:

    @Test
	public void charTest(){
		char a = 'A';	//定义单个字符
		
		char arr[] = {'A','B','C'};
		
		char unicode = '\u0041';
		
		System.out.println("a:"+a);
		for(char ch : arr){
			System.out.println("ch:"+ch);
		}
		
		System.out.println("unicode:"+unicode);
	}

结果:

a:A
ch:A
ch:B
ch:C
unicode:A

char对应的包装类为Character,示例:

    @Test
	public void characterTest(){
		char a = 'A';	//定义单个字符
		System.out.println("a:"+a);
		Character c = a;
		System.out.println("c:"+c);
		
		Character ch = new Character('x');
		System.out.println("ch:"+ch);
		
		char cc = ch;
		System.out.println("cc:"+cc);
		
	}

结果:

a:A
c:A
ch:x
cc:x

 2、Character 方法

序号方法与描述
1isLetter()
是否是一个字母
2isDigit()
是否是一个数字字符
3isWhitespace()
是否是一个空白字符
4isUpperCase()
是否是大写字母
5isLowerCase()
是否是小写字母
6toUpperCase()
指定字母的大写形式
7toLowerCase()
指定字母的小写形式
8toString()
返回字符的字符串形式,字符串的长度仅为1

3、转义 

前面有反斜杠(\)的字符代表转义字符,它对编译器来说是有特殊含义的

比如:

转义序列描述
\t在文中该处插入一个tab键
\b在文中该处插入一个后退键
\n在文中该处换行
\r在文中该处插入回车
\f在文中该处插入换页符
\'在文中该处插入单引号
\"在文中该处插入双引号
\\在文中该处插入反斜杠
    @Test
	public void zhuanyiTest(){
		String ss = "我正在看\"卧虎藏龙\"这部电影!";
		System.out.println(ss);
	}

 二、String 类

1、定义

定义字符串有两种,一种是直接定义,一种是new一个字符串;

    @Test
	public void stringTest(){
		String s1 = "aabbcc";	//直接创建-存储在公共池中
		String s2 = "aabbcc";
		String ss = s1;	//相同引用
		
		String s3 = new String("aabbcc");//new 创建的字符串对象在堆上
		String s4 = new String("aabbcc");
		
		System.out.println("s1和s2比较"+(s1 == s2));
		System.out.println("s1和ss比较"+(s1 == ss));
		System.out.println("s1和s3比较"+(s1 == s3));
		System.out.println("s3和s4比较"+(s3 == s4));
		System.out.println("s3和s4对象比较"+(s3.equals(s4)));
	}

结果:

s1和s2比较true
s1和ss比较true
s1和s3比较false
s3和s4比较false
s3和s4对象比较true

 2、字符串的常见方法

常见的方法:

    @Test
	public void stringLengthTest(){
		String s1 = "aabbcc";	//直接创建-存储在公共池中
		
		System.out.println("长度方法:"+s1.length());	//长度方法
		
		String s2 = "ffgg";
		String s3 = s1.concat(s2);	//连接方法,也可以s1.concat("ffgg")
		System.out.println("拼接方法:"+s3);	
		System.out.println("拼接方法2:"+s3+"hhjj");	//+号拼接,效率比较低,因为String 是final类型的,这样拼接是生成了一个新的字符串,是比较耗资源的
		
		String s4 = String.format("浮点型:%f,整型:%d,字符串:%s",5.22f,10,"aabbcc");	//字符串格式化方法
		System.out.println("格式化:"+s4);	
		
		System.out.println("charAt:"+s3.charAt(2));
		System.out.println("contains:"+s3.contains("bb"));
		System.out.println("isEmpty:"+s3.isEmpty());
		System.out.println("toUpperCase:"+s3.toUpperCase());
		System.out.println("toLowerCase:"+s3.toLowerCase());
		System.out.println("split:"+s4.split(s4));
		System.out.println("compareTo:"+s1.compareTo("aabbcc"));
		System.out.println("trim:"+"  aabbcc ".trim());
		System.out.println("startsWith:"+s1.startsWith("aa"));
		System.out.println("replace:"+s1.replace("aa", "ee"));
	}

 结果:

长度方法:6
拼接方法:aabbccffgg
拼接方法2:aabbccffgghhjj
格式化:浮点型:5.220000,整型:10,字符串:aabbcc
charAt:b
contains:true
isEmpty:false
toUpperCase:AABBCCFFGG
toLowerCase:aabbccffgg
split:[Ljava.lang.String;@1f7030a6
compareTo:0
trim:aabbcc
startsWith:true
replace:eebbcc

其他方法详见请看地址:https://www.runoob.com/java/java-string.html

三、StringBuffer 和 StringBuilder 类

StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象,从效率上讲StringBuilder 更高但不是线程安全的,StringBuffer 是线程安全的

 

    @Test
	public void stringBufferAndBuilderTest(){
		StringBuffer buff = new StringBuffer("aa");
		StringBuilder build = new StringBuilder("aa");
		
		buff.append("bb");
		build.append("bb");
		System.out.println("buff-append:"+buff);
		System.out.println("build-append:"+build);
		
		System.out.println("buff-reverse:"+buff.reverse());
		System.out.println("build-reverse:"+build.reverse());
	}

结果:

buff-append:aabb
build-append:aabb
buff-reverse:bbaa
build-reverse:bbaa

更多内容:

StringBuffer 类:https://www.runoob.com/manual/jdk11api/java.base/java/lang/StringBuffer.html

StringBuilder 类:https://www.runoob.com/manual/jdk11api/java.base/java/lang/StringBuilder.html

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

wwwzhouzy

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

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

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

打赏作者

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

抵扣说明:

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

余额充值