【测开技能】Java语言系列(七) 字符和字符串

2022-09-29 20:08:40 浏览数 (1)

Java系列分享

【测开技能】Java语言系列(一)Java入门

【测开技能】Java语言系列(二)Java基础语法

【测开技能】Java语言系列(三)变量和数据类型

【测开技能】Java语言系列(四) 整数运算

【测开技能】Java语言系列(五) 浮点数运算

【测开技能】Java语言系列(六) 布尔运算

正文


在Java中,字符和字符串是两个不同的类型。

字符类型

字符类型char是基本数据类型,它是character的缩写。一个char保存一个Unicode字符:

char char1 = 'A';

char char2 = '北京';

因为Java在内存中总是使用Unicode表示字符,所以,一个英文字符和一个中文字符都用一个char类型表示,它们都占用两个字节。要显示一个字符的Unicode编码,只需将char类型直接赋值给int类型即可:

代码语言:javascript复制
 int n1 = 'A';
System.out.println(n1);

结果

字符串类型

和char类型不同,字符串类型String是引用类型,我们用双引号"..."表示字符串。一个字符串可以存储0个到任意个字符:

代码语言:javascript复制
String s = ""; // 空字符串,包含0个字符
String s1 = "A"; // 包含一个字符
String s2 = "ABC"; // 包含3个字符
String s3 = "中文 ABC D"; // 包含7个字符,其中有二个空格

因为字符串使用双引号"..."表示开始和结束,那如果字符串本身恰好包含一个"字符怎么表示?例如,"abc"xyz",编译器就无法判断中间的引号究竟是字符串的一部分还是表示字符串结束。这个时候,我们需要借助转义字符

代码语言:javascript复制
String s = "abc"xyz"; // 包含7个字符: a, b, c, ", x, y, z

打印下结果如下:

因为是转义字符,所以,两个\表示一个字符:

代码语言:javascript复制
代码语言:javascript复制
   String s = "abc\xyz";
  System.out.println(s);

结果如下:

常见的转义字符包括:

  • " 表示字符"
  • ' 表示字符'
  • \ 表示字符
  • n 表示换行符
  • r 表示回车符
  • t 表示Tab
  • u#### 表示一个Unicode编码的字符

字符串如何拼接呢

代码语言:javascript复制
String s = "abc\xyz";
String name="beijing";
System.out.println(s name);

结果输出如下:

如果字符串和int类型拼接呢

代码语言:javascript复制
String s = "abc\xyz";
String name="beijing";
int beijing=110;
System.out.println(s name beijing);

结果如下

从上面的拼接可以看到,在拼接的时候,如果用 连接字符串和其他数据类型,会将其他数据类型先自动转型为字符串,再连接。

空值null

引用类型的变量可以指向一个空值null,它表示不存在,即该变量不指向任何对象。例如:

代码语言:javascript复制
String s1 = null; // s1是null
String s2 = s1; // s2也是nullS
tring s3 = ""; // s3指向空字符串,不是null

注意要区分空值null和空字符串"",空字符串是一个有效的字符串对象,它不等于null

0 人点赞