1.字符
1.1Unicode和ASCAII码
计算机内部使用二进制数。一个字符在计算机是以0和1构成的序列的形式来储存的1.将字符映射到它的二进制的形式的过程叫编码 (encoding)。字符有多种不同的编码方式,编码表(encoding scheme)定义该如何编码每一个字符。
大多数计算机采用ASCII码(美国标准信息交换码),他是表示所有大小写字母、数字、标点符号和控制字符的8为编码表。而Unicode包含了ASCII码。
Java程序中,可以使用想‘X’、‘1’和‘$’这样的ACSCII字符,也可以使用Unicode码,例如:
char letter = 'A';
char lettter = '\u0041';//Character A's Unicode is 0014;
两条语句都将字符A赋值给了char型变量letter。
1.2特殊字符的转义序列
假如你想在输出时显示如下带引号的信息,你能编写如下的所示的这条语句吗?
System.out.println("He said "java is fun"");
答案是不能。
为了解决这个问题Java定义了一种特殊的标记来表示特殊的字符,如下表。转义序列有反斜杠(\)后面加一个字符或一些数字组成。比如\t是表示Tab字符的转义字符。
所以你可以用下面的方法输出带引号的消息:
System.out.println("He said \"Java is fun\"");
它的输出是:
He said " Java is fun"
转义序列 | 名称 | Unicide码 | 十进制值 |
\b | 退格键 | \u0008 | 8 |
\t | Tab键 | \u0009 | 9 |
\n | 换行符 | \u000A | 10 |
\f | 换页符 | \u000C | 12 |
\r | 回车符 | \u000D | 13 |
\\ | 反斜杠 | \u005C | 92 |
\" | 双引号 | \u0022 | 34 |
1.3character类的方法
Character它是char基本数据类型的 包装类。
方法 | 描述 |
isDigit(ch) | 如果指定的字符是一个数字,方法true |
isLetter(ch) | 如果指定的字符是一个字母,返回true |
idLetterOrDigit(ch) | 如果指定的字符是一个数字或者数字,返回true |
isLowerCase(ch) | 如果指定的字符是一个小写字母,返回true |
isUpperCase(ch) | 如果指定的字符是一个大写字母,返回true |
toLowerCase(ch) | 返回指定的字符的小写形式 |
toUpperCase(ch) | 返回指定的字符的大写形式 |
2.String类型
char类型只能表示一个字符串,为了表示一串字符,使用称为String(字符串)的数据类型。例如:
String message = "Welcome to Java" #定义一个字符串
String是一个类,它描述的是字符串。在Java代码当中,所有字符串常量(字符串字面量)都是 String类的一个实例对象。并且,字符串一旦创建,则不可修改! 不可修改其长度,不可修改其内容 。所 以将来对字符串内容的改变,不能在原地改,只能重新创建一个字符串。
public class Sample {
public static void main(String[] args) {
String s1 = "abc";
String s2 = "ab" + "dc";
//上述代码一共有几个字符串?
//四个"abc" "ab" "dc" "abdc"
}
}
获取相关
- char charAt(int index):获取指定角标index处的字符
- int indexOf(int ch):获取指定字符(编码)在字符串中第一次(从左到右)出现的地方返回的是 角标。如果是-1 表示不存在
- int lastIndexOf(int ch):获取指定字符(编码)在字符串中第一次(从右到做)出现的地方返回的 是角标
- int indexOf(String str):获取指定字符串在本字符串中第一次(从左到右)出现的地方返回的是 角标
- int lastIndexOf(String str):获取指定字符串在本字符串中第一次(从右到左)出现的地方返回 的是角标
- int length():获取字符串的长度(字符的个数)
- String[] split(String regex):将字符串按照regex的定义进行切割(regex指的是正则表达式)
- String substring(int beginIndex):截取一段子字符串,从beginIndex开始到结尾
- String substring(int beginIndex, int endIndex):截取一段子字符串,从beginIndex开始到 endIndex(不包含)
判断相关
- int compareTo(String anotherString):按照字典顺序比较两个字符串的大小
- boolean contains(String another):判断当前字符串中是否包含指定字符串another
- boolean equals(String another):比较当前字符串与指定字符串的内容是否相同
- boolean isEmpty():判断当前字符串是否为空,length() == 0 boolean startsWith(String prefix):判断该字符串是否以prefix开头
- boolean endsWith(String suffix):判断该字符串是否已suffix结尾
修改相关
- String toLowerCase():将字符串中所有的英文字母全部变为小写
- String toUpperCase():将字符串中所有的英文字母全部变为大写
- String trim():将字符串中两端的多余空格进行删除
- String replace(char oldCh,char newCh):将字符串中oldCh字符替换成newCh字符
2.1字符串和数字键的转换
可以将数值类型字符串转换为数值。要将字符串转换成为int值,使用Integer.parseInt方法,如下:
int intValue = Integer.parseInt(intString);
若要将自负床转换为double值,使用Double.parseDouble方法,如下:
double d = Double.parseDouble(DoublrString);
而将数值转换为字符串,只需简单使用字符串的连续操作符,
String s = number + " ";