package com.atguigu.test09; import org.junit.Test; /* * 方法系列一: * (1)int length():返回字符串的长度,返回的是字符的个数 * 因为String的内部(JDK1.9之前)用char[]实现,这个长度就是value数组的长度 * (2)boolean isEmpty():是否是空字符串 * (3)String toLowerCase() * String toUpperCase() * (4)String trim() :去掉字符串的前后空白符 * (5)String concat():拼接,等价于+ */ public class TestStringMethod01 { @Test public void test3(){ String s1 = "hello"; String s2 = "world"; String s3 = s1 + s2; String s4 = s1.concat(s2); System.out.println(s3 == s4);//false//变量和变量拼接,此处s3和s4都是变量;s1和s2是常量; System.out.println(s3.equals(s4));//true } @Test public void test2(){ String str = " hello world "; str = str.trim();//需要有一个对象接受操作后的字符串对象; System.out.println("[" + str + "]"); } @Test public void test1(){ String str = "hello"; System.out.println(str.toUpperCase()); } }
package com.atguigu.test09; import java.util.Scanner; import org.junit.Test; /* * 方法系列二:和char相关 * (1)char[] toCharArray()//字符串转换成字符数组 * (2)char charAt(index)//输出第index个数组 * (3)String(char[] arr)// * (4)String(char[] arr,int offset, int count) */ public class TestStringMethod2 { @Test public void test05(){ char[] arr = {'h','e','l','l','o'}; String string = new String(arr,2,3);//从[2]开始,取3个 System.out.println(string); } @Test public void test04(){ char[] arr = {'h','e','l','l','o'}; String string = new String(arr); System.out.println(string); } @Test public void test03(){ String str = "HelloWorld"; System.out.println(str.charAt(4)); } @Test public void test02(){ Scanner input = new Scanner(System.in); System.out.print("请输入性别:"); String str = input.next(); char gender = str.charAt(0); System.out.println(gender); } @Test public void test01(){ String str = "HelloWorld"; //统计大写字母的个数 char[] arr = str.toCharArray(); int count = 0; for (int i = 0; i < arr.length; i++) { if(arr[i]>='A' && arr[i]<='Z'){ count++; } } System.out.println("大写字母的个数:" +count); } }
package com.atguigu.test09; import java.io.UnsupportedEncodingException; import java.util.Arrays; import org.junit.Test; /* * 方式系列三:和byte相关,或者说和编码与解码相关 *(1) byte[] getBytes():编码的方法,使用平台默认的字符编码进行编的 * byte[] getBytes(编码方式): * * 编码: 对于ASCII码范围内(0~127),无论用什么编码方式,结果都是一样的,一个字符对应一个字节的编码值 * 对于其他的字符,编码,结果不一定是几个字节,例如汉字: * UTF-8:变长的,但是大多数汉字都是3个字节 * GBK、GB2312:固定2个字节 * ISO8859-1:不支持中文,所有字符都变为1个字节 * (2)new String(字节数组) * new String(字节数组,编码方式) * * 编码: * 把字符-->字节的过程,编给计算机用的 * 解码: * 把字节-->字符的过程,解给人看的 * * 乱码: * (1)编码与解码字符集不一致 * (2)缺字节 */ public class TestStringMethod3 { @Test public void test05() throws UnsupportedEncodingException{ String str = "尚硅谷"; byte[] bytes = str.getBytes("ISO8859-1"); System.out.println(Arrays.toString(bytes));//[63, 63, 63] String string = new String(bytes,"ISO8859-1"); System.out.println(string); } @Test public void test04() throws UnsupportedEncodingException{ String str = "尚硅谷"; byte[] bytes = str.getBytes("GBK"); System.out.println(Arrays.toString(bytes));//[-55, -48, -71, -24, -71, -56] String string = new String(bytes,"GBK"); System.out.println(string); } @Test public void test03() throws UnsupportedEncodingException{ String str = "尚硅谷"; byte[] bytes = str.getBytes(); System.out.println(Arrays.toString(bytes));//[-27, -80, -102, -25, -95, -123, -24, -80, -73] String string = new String(bytes,"UTF-8"); System.out.println(string); } @Test public void test02(){ String str = "abc"; byte[] bytes = str.getBytes(); System.out.println(Arrays.toString(bytes));//[97, 98, 99] } @Test public void test01(){ String str = "a"; byte[] bytes = str.getBytes(); System.out.println(Arrays.toString(bytes));//[97] } }
package com.atguigu.test09; import java.io.UnsupportedEncodingException; import java.util.Arrays; import org.junit.Test; /* * 方式系列三:和byte相关,或者说和编码与解码相关 * (1)byte[] getBytes():编码的方法,使用平台默认的字符编码进行编的 * byte[] getBytes(编码方式): * * 编码: 对于ASCII码范围内(0~127),无论用什么编码方式,结果都是一样的,一个字符对应一个字节的编码值 * 对于其他的字符,编码,结果不一定是几个字节,例如汉字: * UTF-8:变长的,但是大多数汉字都是3个字节 * GBK、GB2312:固定2个字节 * ISO8859-1:不支持中文,所有字符都变为1个字节 * (2)new String(字节数组) * new String(字节数组,编码方式) * * 编码: * 把字符-->字节的过程,编给计算机用的 * 解码: * 把字节-->字符的过程,解给人看的 * * 乱码: * (1)编码与解码字符集不一致 * (2)缺字节 */ public class TestStringMethod3 { @Test public void test05() throws UnsupportedEncodingException{ String str = "尚硅谷"; byte[] bytes = str.getBytes("ISO8859-1"); System.out.println(Arrays.toString(bytes));//[63, 63, 63] String string = new String(bytes,"ISO8859-1"); System.out.println(string); } @Test public void test04() throws UnsupportedEncodingException{ String str = "尚硅谷"; byte[] bytes = str.getBytes("GBK"); System.out.println(Arrays.toString(bytes));//[-55, -48, -71, -24, -71, -56] String string = new String(bytes,"GBK"); System.out.println(string); } @Test public void test03() throws UnsupportedEncodingException{ String str = "尚硅谷"; byte[] bytes = str.getBytes(); System.out.println(Arrays.toString(bytes));//[-27, -80, -102, -25, -95, -123, -24, -80, -73] String string = new String(bytes,"UTF-8"); System.out.println(string); } @Test public void test02(){ String str = "abc"; byte[] bytes = str.getBytes(); System.out.println(Arrays.toString(bytes));//[97, 98, 99] } @Test public void test01(){ String str = "a"; byte[] bytes = str.getBytes(); System.out.println(Arrays.toString(bytes));//[97] } }