一、基础概念
Java中的字符是基本数据类型之一,表示一个Unicode字符。
Java中的char类型占用2个字节,范围为0到65535,对应的是UTF-16字符编码。
Java中使用单引号来表示一个字符,例如:’A’,’1’。
二、字符转化
将字符转化为对应的整数值
char ch = 'A'; int value = (int)ch; // value的值为65
将字符转化为对应的字符串
char ch = 'A'; String str = String.valueOf(ch); // str的值为"A"
将一串字符转化为字符数组
String str = "Hello"; char[] arr = str.toCharArray(); // arr的值为{'H', 'e', 'l', 'l', 'o'}
三、字符比较
在Java中,可以使用以下几种方式比较两个字符的大小关系:
1、使用char类型自带的比较运算符
char ch1 = 'A'; char ch2 = 'B'; boolean result = (ch1 < ch2); // result的值为true,因为'A'的Unicode值小于'B'
2、使用ASCII码进行比较
char ch1 = 'A'; char ch2 = 'B'; boolean result = ((int)ch1 < (int)ch2); // result的值为true,因为65比66小
3、使用Character.compare()方法进行比较
char ch1 = 'A'; char ch2 = 'B'; int result = Character.compare(ch1, ch2); // result的值为-1,因为'A'小于'B'
四、字符大小写转换
将字符转换为大写字符
char ch = 'a'; char upperCase = Character.toUpperCase(ch); // upperCase的值为'A'
将字符转换为小写字符
char ch = 'A'; char lowerCase = Character.toLowerCase(ch); // lowerCase的值为'a'
五、字符类型判断
判断字符是否为数字字符
char ch = '7'; boolean isDigit = Character.isDigit(ch); // isDigit的值为true
判断字符是否为字母字符
char ch = 'A'; boolean isLetter = Character.isLetter(ch); // isLetter的值为true
判断字符是否为大写字母
char ch = 'A'; boolean isUpperCase = Character.isUpperCase(ch); // isUpperCase的值为true
判断字符是否为小写字母
char ch = 'a'; boolean isLowerCase = Character.isLowerCase(ch); // isLowerCase的值为true
六、字符编码转换
将字符转化为UTF-8编码字节数组
char ch = '中'; byte[] bytes = String.valueOf(ch).getBytes("UTF-8");
将UTF-8编码字节数组转换为字符
byte[] bytes = new byte[]{(byte)0xe4, (byte)0xb8, (byte)0xad}; String str = new String(bytes, "UTF-8"); char ch = str.charAt(0); // ch的值为'中'
七、字符替换和删除
将字符串中指定字符替换为另一个字符
String str = "Hello World"; String newStr = str.replace('l', 'L'); // newStr的值为"HeLLo WorLd"
将字符串中指定子串替换为另一个子串
String str = "Hello World"; String newStr = str.replace("World", "Java"); // newStr的值为"Hello Java"
将字符串中的所有空格字符删除
String str = "This is a test "; String newStr = str.replaceAll("\\s", ""); // newStr的值为"Thisisatest"
八、字符拼接和转化
将字符数组拼接成字符串
char[] arr = {'H', 'e', 'l', 'l', 'o'}; String str = String.valueOf(arr);
将字符串拆分成字符数组
String str = "Hello"; char[] arr = str.toCharArray(); // arr的值为{'H', 'e', 'l', 'l', 'o'}
将十六进制字符串转换为字符数组
String hexStr = "48656C6C6F"; // Hello的十六进制形式 char[] arr = new char[hexStr.length() / 2]; for (int i = 0; i < arr.length; i++) { arr[i] = (char)Integer.parseInt(hexStr.substring(i*2, i*2+2), 16); } // arr的值为{'H', 'e', 'l', 'l', 'o'}
原创文章,作者:UCLHG,如若转载,请注明出处:https://www.506064.com/n/369259.html