Java Character 类和String类
Java Character 类和String类
Character介绍
Character 类用于对单个字符进行操作。Character 类在对象中包装一个基本类型 char 的值。因为在实际应用中经常需要使用对象,而不是内置的基本数据类型,Java语言为内置数据类型char提供了包装类Character类。
可以使用包装类进行一系列的对字符的操作。
创建一个Character的对象:
Character c1 = new Character('学');
装箱和拆箱
在某些情况下,Java编译器会自动创建一个Character对象。
例如,将一个char类型的参数传递给需要一个Character类型参数的方法时,那么编译器会自动地将char类型参数转换为Character对象。 这种特征称为装箱,反过来称为拆箱。
package com.xu.baseclass;
public class Demo1 {
public static void main(String[] args) {
//Java Character类,
Character c1 = new Character('学');
System.out.println(c1);
// 原始字符 'a' 装箱到 Character 对象 ch 中
Character ch = 'a';
// 原始字符 'x' 用 test 方法装箱
// 返回拆箱的值到 'c'
char c = test('x');
}
public static Character test(Character mychar) {
return mychar;
}
}
下面是Character类的方法:
| 1 | isLetter() 是否是一个字母 |
|---|---|
| 2 | isDigit() 是否是一个数字字符 |
| 3 | isWhitespace() 是否是一个空白字符 |
| 4 | isUpperCase() 是否是大写字母 |
| 5 | isLowerCase() 是否是小写字母 |
| 6 | toUpperCase() 指定字母的大写形式 |
| 7 | toLowerCase() 指定字母的小写形式 |
| 8 | toString() 返回字符的字符串形式,字符串的长度仅为1 |
Java String 类介绍
在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。
package com.xu.baseclass;
public class Demo2 {
public static void main(String[] args) {
//String基础
String str1 = "Areyouok";//String 直接创建
String str2 = "Areyouok";//String 直接创建//相同引用
String str3 = new String("Areyouok");//String 对象创建
String str4 = new String("Areyouok");//String 对象创建
System.out.println("str1和str2引用比较结果:" + (str1 == str2));
System.out.println("str3和str4引用比较结果:" + (str3 == str4));
System.out.println("str1和str3引用比较结果:" + (str1 == str3));
}
}

由结果可知:
str1和2为同一个引用,而3,4则是不同的引用。
| 公共池 | 堆 |
|---|---|
| Areyouok | Areyouok(str3) |
| 1、2 | Areyouok(str4) |
String 类有 11 种构造方法,这些方法提供不同的参数来初始化字符串,比如提供一个字符数组参数:
char[] helloArray = { 'h', 'e', 'l', 'l', 'o'};
String helloString = new String(helloArray);
System.out.println( helloString );
注意:String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了
如果需要对字符串做很多修改,那么应该选择使用 StringBuffer & StringBuilder 类。
字符串拼接
String 类提供了连接两个字符串的方法:
1.string1.concat(string2);//返回 string2 连接 string1 的新字符串。也可以对字符串常量使用 concat() 方法。
2."fdsa"+"asdfsadf"//更常用的是使用'+'操作符来连接字符串
package com.xu.baseclass;
public class Demo3 {
public static void main(String[] args) {
//String的连接
String name = "奈若何";
String engName = "nairuohe";
System.out.printf("字符长度:%d\n", name.length());
//字符串拼接
System.out.println(name.concat(engName));
System.out.println(name + engName);
}
}

字符串格式化
我们知道输出格式化数字可以使用 printf() 和 format() 方法。
String 类使用静态方法 format() 返回一个String 对象而不是 PrintStream 对象。
String 类的静态方法 format() 能用来创建可复用的格式化字符串,而不仅仅是用于一次打印输出。
如下所示:
System.out.printf("浮点型变量的值为 " +
"%f, 整型变量的值为 " +
" %d, 字符串变量的值为 " +
"is %s", floatVar, intVar, stringVar);
你也可以这样写:
String fs;
fs = String.format("浮点型变量的值为 " +
"%f, 整型变量的值为 " +
" %d, 字符串变量的值为 " +
" %s", floatVar, intVar, stringVar);

浙公网安备 33010602011771号