[Java笔记]1.4 Java基本知识——字符串

一、String介绍

之前学习中曾经了解过,char类型是用于表示单个字符的类型。但Java中使用的是Unicode字符,而由于Unicode发展至今,虽然大部分常用字符可以用两个字节,即一个char值表示,但也有一部分字符需要两个char值才能表示。所以一般在程序中尽量不使用char来处理字符,转而使用字符串作为引用数据类型来处理。

字符串实际上就是Unicode字符序列。但在Java中没有内置的字符串类型,而是在标准Java类库中提供了叫做String的类。每个用双引号括起来的字符串都是String类的一个实例。

接下来看一下String类的定义:

public final class String
    implements java.io.Serializable, Comparable<String>, CharSequence {}

在String的定义中我们可以看到final关键字,即每个String类的实例都是常量。也就是说我们一旦声明了一个String类型的变量,它的值便不能改变了。我们能做的只是让该变量指向新的对象。这与C/C++中可以像处理数组一样处理字符串的设定不同,习惯C/C++中处理字符串方式的人可能会觉得不太方便。

二、声明与使用

字符串常量值:由双引号引起来的字符序列。如"abcde","0123字符串"。注:即使没有内容或只有一个字符也需要用双引号引起来(""、"c")。若用单引号引起来的一个字符是char类型的,而不是String类型('c'是char类型常量值)。

字符串变量:像其他类型变量相同,类型+变量名 是声明变量的格式。字符串变量的使用方式与其他变量相同。

String a = "abcde";
String b = a;

二、空串和null

空串是长度为0的字符串,它是一个实际的对象,有自己的内存空间,有自己的长度(0)和内容(空)。

而一个字符串变量中还可以存放一个特殊的值:null。这表示该变量没有指向任何一个对象,没有自己的内存空间。若在一个null值上执行方法,则会出错。

String emptyString = ""; //空串
String nullString = null;//null串

三、常用操作

1.字符串拼接 +

Java中允许用+号拼接两个字符串,或一个字符串和其他类型的量。

String a = "PI";
String b = " = ";
double c = 3.14;
String d = a + b; //此时d为“PI = ”
String e = d + c; //此时e为“PI = 3.14”

2.子串 substring() 

可以从一个较长的字符串中提取一个较短的子串。若输入两个参数(a,b),则从下界a(含)截取到上界b(不含)。若输入一个参数,则从下界a(含)一直截取到串尾。注:计数从0开始。

String name = "Horace";
String n = name.substring(0,3);   // 此时s为"Hor"
String n2end = name.substring(2); // 此时n2end为"race"
 

3.判断字符串相等equals()、equalsIgnoreCase()

判断两个字符串是否相等。目标可以为两个字符串变量、常量、常量值。equals()区分大小写,equalsIgnoreCase()不区分大小写。判断后返回布尔值。

String a = "abc";
String b = "bcd";
boolean c = "abc".equals(a); //true
boolean d = b.equals(a);     //false

4.删除首尾空格 trim()

返回一个新字符串,值为原字符串删除首尾空格后的值。

String a = "   abc   ";
String b = a.trim();     //此时b为"abc"

5.字符串长度 length()

返回字符串的长度。

String a = "abcd";
int b = a.length(); //此时b为4

6.字符替换 replace()

返回一个新字符串,将旧字符串中所有指定的字符序列转换为新的序列。需要两个参数,第一个是旧字符序列,第二个是新字符序列。

String on = "ballon moon";
String ee = s.replace("on","ee"); //此时ee值为"ballee moee"
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值