Java基础:字符与字符串(String)

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退格键\u00088
\tTab键\u00099
\n换行符\u000A10
\f换页符\u000C12
\r回车符\u000D13
\\反斜杠\u005C92
\"双引号\u002234

1.3character类的方法

        Character它是char基本数据类型的 包装类

Character类的方法
方法描述
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 + " ";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值