代码中输入如下部分:
/* char的取值范围0-65535 */ public class DataType06 { public static void main(String[]args){ char c1 = 'a'; } }
命令行编译如下:
然后在添加一个‘小’字试试:
/* char的取值范围0-65535 */ public class DataType06 { public static void main(String[]args){ char c1 = 'a'; char c2 = '小'; } }
编译如下:
插入 'ab'试一下:
/* char的取值范围0-65535 */ public class DataType06 { public static void main(String[]args){ char c1 = 'a'; char c2 = '小'; char c3 = 'ab'; } }
编译如下:
可以看到报错了 因为A和B是两个字符属于字符串了,可以用string类型表示。稍后我们会详解。
char c3 = ‘ab’这个叫做字符串。
我们看到char类型的取值范围为0-65535 ,下面我们为它添加几个int类型的数字。
/* char的取值范围0-65535 */ public class DataType06 { public static void main(String[]args){ char c1 = 'a'; char c2 = '小'; //char c3 = 'ab'; char c4 = 97; char c5 = 65; char c6 = 48; char c7 = 15; System.out.println(c4); System.out.println(c5); System.out.println(c6); System.out.println(c7); } }
输出结果为:
为什么输出结果是这样呢?因为计算机存储的数据都是二进制数据。把二进制转换一个格式ascll码。
我可以看到char类型能否存储标点呢:
public class DataType06 { public static void main(String[]args){ char c1 = '''; } }
运行结果为:
我们可以看到程序报错了。如果我们必须要转换这些字符呢,java里面有个转义字符\:
public class DataType06 { public static void main(String[]args){ char c1 = '\''; System.out.println(c1); } }
命令行输出结果为:
我们可以看到是可以编译成功的。
除了单引号,我们还可以打出其他的字符,比如制表符,就是我们键盘上的TAB键。代码如下:
public class DataType06 { public static void main(String[]args){ char c1 = '\''; char c2 = '\t'; // \t表示制表符 System.out.println(c1); System.out.println(c2); } }
命令行编译如下:
虽然不明显,但是我们可以看到可以打印成功的,单引号下面有个制表符。
我们可以看到System.out.println打印的结果会自动换行,如果不换行的话是System.out.print。 代码如下:
public class DataType06 { public static void main(String[]args){ char c1 = '\''; char c2 = '\''; System.out.print(c1); System.out.print(c2); } }
命令行编译如下:
打印结果为同一行,没有自动化换行,这就是这两个的区别。
我们还可以在上面代码中加个换行符,也可以继续换行,代码如下:
public class DataType06 { public static void main(String[]args){ char c1 = '\''; char c2 = '\''; char c3 = '\n'; // 换行 System.out.print(c1); System.out.print(c3); System.out.print(c2); } }
命令行编译如下: