【精致Java教程】13:常量、变量与运算符(四)

char###

char类型用于表示单个字符。Java采用的是16位的Unicode字符集,每个字符占2个字节。
char类型在Java中本质上是存储一个整数,其值等于它的Unicode值,最大不超过65535。
可以用以下四种方式给char类型赋值。
1.用单引号括起来,例如'a'、'2'、‘@’、‘我’。
2.某些特殊字符例如双引号"无法直接使用需要用转义字符,Java有以下转义字符:

  • 特殊字符:
    ":双引号
    ':双引号
    \\:斜杠

  • 控制字符:
    \n:换行
    \f:换页
    \r:回车
    \b:退格
    \t:制表符

3.用整数来表示,会自动赋值Unicoe值为该数值的字符,最大不能超过65535。默认是十进制表示,如果想用八进制在数字前加0,例如:017等于十进制15。如果想用十六进制在数字前加0x,例如:0x17等于十进制23。
4.单引号内用16进制表示,同样会自动赋值Unicoe值为该数值的字符,最大不能超过\uffff。

示例代码:

char c1 = 'A'; // 用单引号把字符括起来
char c2 = '\\'; // 用“\”转义字符表示一些特殊字符
char c3 = 97; // 直接赋值一个十进制数
char c4 = '\u03c0'; // 单引号内用16进制表示

System.out.println(c1);
System.out.println(c2);
System.out.println(c3);
System.out.println(c4);

输出结果:


A

a
π

这里强调一下“char类型在Java中本质上是存储一个整数,其值等于它的Unicode值,最大不超过65535”这句话。你可以把一个char类型当做整数赋值给一个int,例如:int i = 'a',这样的结果是变量i的值为97(字母a的Unicode值为97)。
还有一个问题,如果上述代码的输出改为

System.out.println(c1 + c2 + c3 + c4);

会怎样呢?会输出A\aπ吗?
输出结果为:


1214

因为char的本质就是整数,“+”号在连接几个数值时优先起加法作用。所以这里并不会起字符串连接的作用,而是把他们的Unicode值加起来。

String###

当你需要表示一串字符时可以用String这个数据类型。它并不是基础数据类型而是引用数据类型里面的类的一种,所以没有占几个字节和取值范围之说。
和基本数据类型一样,String的使用方法(最常用的使用方法,还有其它方法)也是数据类型 变量名 = 值,其中String的值要用双引号括起来,上面的char是单引号。
示例代码:

String s = "北京欢迎你!";
System.out.println(s);

输出结果:

北京欢迎你!

很好理解的代码,不知道你是不是可以从中领悟到System.out.println()括号里的参数其实就是String。
String是一个非常特殊的类,关于String此时只需要掌握怎么使用即可,更详细的用法和解释在我写了面向对象之后再写。

到此基本数据类型和引用数据类型的String都讲完了。


【精致Java教程】13:常量、变量与运算符(四)_第1张图片

本文代码下载:百度网盘

你可能感兴趣的:(【精致Java教程】13:常量、变量与运算符(四))