9.1String类

单个字符可以用char类型保存,多个字符组成的文本就需要保存在String对象中。String通常被称为字符串,一个String对象最多可以保存(2*32-1)个字节(占用4GB空间大小)的文本内谷。本节将详细讲解String类的使用方法。

9.1.1声明字符串

在Java语言中,字符串必须包含在一对双引号("")之内。例如:

"23.23"、"ABCDE"、"你好"

以上这些都是字符串常量,字符串常量可以是系统能够显示的任何文字信息,甚至可以是单个字符。

误区警示:

在Java中由双引号("")包围的都是字符串,不能作为其他数据类型来使用,如"1+2"的输出结果不可能是3。

可以通过以下语法格式来声明字符串变量:

String str;

☑ String:指定该变量为字符串类型。

☑ str:任意有效的标识符,表示字符串变量的名称。

声明字符串变量s,代码如下:

String s;
说明:

声明的字符串变量必须经过初始化才能使用,否则编译器会报出"变量未被初始化错误"。

9.1.2创建字符串

在Java语言中,将字符串作为对象来处理,因此可以像创建其他类对象一样来创建字符串对象。创建对象要使用类的构造方法。String类的常用构造方法如下。

1.String(char a\[\])

该方法用一个字符数组a创建String对象,代码如下:

char a\[\] = {'g','o','o','d'};

String s = new String(a);

等价于String s = new String("good");

2.String(char a),int offset,int length)

该方法提取字符数组a中的一部分创建一个字符串对象。参数offset表示开始截取字符串的位置,length表示截取字符串的长度。代码如下:

char a\[\] = {'s',t,u,'d','e','n','t'};

String s = new String(a,2,4);

等价于String s = new String("uden");

3.String(char\[\] value)

该构造方法可分配一个新的String对象,使其表示字符数组参数中所有元素连接的结果。代码如下:

char a\[\] = {'s',t,u','d,'e','n't};

String s = new String(a);

等价于String s = new String("student");

除通过以上几种使用String类的构造方法来创建字符串变量外,还可通过将字符串常量的引用赋值给一个字符串变量来创建字符串。代码如下:

String str1,str2;

str1 = "We are students";

srt2 = "We are students";

此时,str1与str2引用相同的字符串常量,因此具有相同的实体,内存示意图如下:

We are students

相关推荐
1024奇点2 小时前
【仓颉语言入门 · 第二篇 第 22 课】
开发语言·ide·开源
Warren2Lynch3 小时前
C4 模型详解:利用 Visual Paradigm 可视化软件架构的综合指南
开发语言·uml
天河归来3 小时前
第三方接口不稳定,如何让核心任务继续完成
java·大数据
Knight_AL4 小时前
Java 文件下载时文件名中的 `#` 被转换成 `%23`?一次 URL 编码与解码问题排查
java·开发语言
ZhengEnCi4 小时前
GPT-6 Astra 爆改 Qwen 权重真有那么神吗:权重空间编程 0.016% 参数的真相
算法·架构
FRing034 小时前
vue2干货总结2(v-bind、v-for、v-model、指令修饰符、v-bind操作class和style)
开发语言·前端·vue.js·vue2
罗西的思考4 小时前
【轻量化复刻大模型 / KIMI K3】KDA(Kimi Delta Attention):并行
人工智能·算法·机器学习
by209995 小时前
C++ 智能指针的所有权与使用
开发语言·c++·经验分享
砚底藏山河5 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
IT召唤狮5 小时前
开源企业级零信任项目Pangolin,零信任能挡住PHP核弹漏洞吗?
开发语言·开源·php