【校招VIP】Java字符和字符串

05月13日 收藏 0 评论 0 java开发

【校招VIP】Java字符和字符串

转载声明:文章来源https://blog.csdn.net/qq_37189082/article/details/124285969

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

1、字符类型

字符类型char是基本数据类型,它是character的缩写,一个char保存一个Unicode字符,一个英文字符和一个中文字符都用一个char类型表示,它们都占用两个字节。

char c1 = 'A';
char c2 = '中';
System.out.println(c1); // 输出结果:A
System.out.println(c2); // 输出结果:中
int c1a = 'A';
int c2b = '中';
// 'A'的Unicode编码是65,输出结果:65
System.out.println(c1a);
// 汉字“中”的Unicode编码是20013,输出结果:20013
System.out.println(c2b);
// ‘A’的十六进制unicode编码为:0041
char c3 = '\u0041';
// “中”的十六进制unicode编码为:4e2d
char c4 = '\u4e2d';
System.out.println(c3); // 输出结果:A
System.out.println(c4); // 输出结果:中

2、字符串类型

字符串类型String是引用类型,用双引号(“”)表示字符串,一个字符串可以存储0个到任意个字符。

字符串使用双引号"..."表示开始和结束,如果其中字符串包含“特殊字符”就需要借助转义字符 "\"。

常见的转义字符包括:

String s = "ABC\n\u4e2d\u6587"; // 包含6个字符
System.out.println(s);

# 输出结果:
ABC
中文

3、字符串连接

Java中可以使用“+”连接任意字符串和其它数据类型。

如果用“+”连接字符串和其它数据类型,会将其他数据类型先自动转型为字符串,再连接。

(1)单行字符串连接

int age = 25;
String s1 = "age is " + age;
System.out.println(s1); // 输出结果:age is 25

  (2)多行字符串连接

# 方法1:多行字符串使用+号
String s2 = "first line \n"
+ "second line \n"
+ "end";
System.out.println(s2);

// 输出结果:
first line
second line
end


# 方法2:使用""" ... """ 表示多行字符串
String s3 = """
select * from users
where id > 100
order by name DESC
""";
System.out.println(s3);

// 输出结果:
select * from users
where id > 100
order by name DESC

4、字符串不可变特性

Java的字符串除了是一个引用类型外,还有一个重要特点就是字符串不可变。

定义一个字符串String s="hello",然后再执行 s="world",其实变的不是字符串,而是变量s的"指向"。

String s = "hello";
String t = s;
s = "world";
System.out.println(s); // 输出结果:world

5、空值null

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

String s1 = null; 	// s1是null
String s2; // 没有赋初始值,s2也是null
String s3 = s1; // s3也是null
String s4 = " "; // s4指向空字符串,不是null

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

6、总结

Java的字符类型char是基本类型,字符串类型String是引用类型;

基本类型的变量"持有"某个数值,引用类型的变量是"指向"某个对象;

引用类型的变量可以是空值null;

要注意区分 空值null 和 空字符串" "是有区别的。

C 0条回复 评论

帖子还没人回复快来抢沙发