开发者学堂课程【Java编程入门:字符型】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/18
字符型
内容简介
1.定义一个字符型变量
2.观察Char与int的关系
3.将小写字母变为大写字母
4.保存中文数据
1.定义一个字符型变量
字符型使用的是char进行定义的,在Java之中使用单引号定义的内容就是一个字符。于是以下将研究如何去使用字符,例如定义一个字符型变量。
范例:定义一个字符型变量
public class JavaDemo {
public static void main(String args[]){
char c='B';/∥一个字符变量.
System.out.println(c);
}
}
现在程序直接输出一定是正常的字符B。
2.观察Char与int的关系
首先要明确在任何的编程语言之中,字符都可以与int进行互相转换,字符中所描述的内容可以通过int获取其内容对应的系统编码。最早的计算机搭造的只是010101,但是如果用01的数字(例如110 101 数字等)来描述,尽管简化了一些过程,但却很难理解的。
范例:观察char与int的关系
public class JavaDemo {
public static void main(String args[]){
char c='A';//一个字符变量.
int num=c: //可以获得字符的编码
System.out.println(num):
}
}
代码编译执行之后,答案是65。
3.将小写字母变为大写字母
对于以上的程序获得了编码,这里面有几个范围需要注意:
1:“大写字母范围”:'A'(65)~'Z'(90);A编译执行的结果是65,Z编译执行的结果是90。
2:“小写字母范围”:'a'(97)~'z'(122);在程序中输入a编译执行的结果是97,z编译执行的结果是122。
3:“数字范围”:'0'(48)~'9'(57);在程序中要注意0跟'0'不是一个概念,前者是整数字,后者是字符,而字符是有编码的。在以上程序中输入0,编译执行结果是48。输入9,编译执行的结果是57。所以字符零和零完全是两个概念,单引号括起来的内容就是字符的数据
通过编码范围可以发现大小写字母之间差了32个数字的长度,于是就可以实现大小写的转换处理。程序如下:
范例:将小写字母变为大写字母
public class JavaDemo {
public static void main(String args[]){
char c='x';//一个字符变量
int num=c;//可以获得字符的编码
num=num-32;//让自己的内容减少32
System.out.println((char) num);
}
}
例如现在有小写字母x,想让他变成大写字母。就需要进行强制转型,将int变成字符。然后就做到了小写字母变成大写字母的转型。
4.保存中文数据
到此为止,所有的操作都与传统的c语言的方式是一样的,但是需要注意的是在java里面存在char的处理,char主要是进行中文的处理,所以Java中的char类型可以保存中文数据。
范例:保存中文数据
public class JavaDemo {
public static void main(String args[]){
char c='仁';//一个字符变量
int num =c; //可以获得字符的编码
System.out.println(num);
}
}
例如在程序中输入仁(字符就只有一个字),观察是否能够运行且是否能够保存。编译执行到结果为20161。20161这个值已经很大了。所以Java中是允许保存有中文的,char最大的优势也就在于中文处理。之所以在java语言里面可以使用char进行中文数据的保存,是因为java使用的是unicode这种十六进制的编码,这种编码的主要特点是可以包括任意的文字内容,所以使得程序开发更加的简单。
最初的时候,如果看到一篇文章非常的长,那么一般需要通过切来换行,但是切文字的时候就比较繁琐。一个字母占一个字节,一个字符占两个字节,如果按照字节的概念,字母的切跟中文的切是不一样的。字母会切得非常完整,但如果是中文,就可能把非常的非切成两半,于是造成了断码。还要去判断是否是正常值,如果是正常值就可以切,不是正常值就要往前找。所以如果有了java这种字符描述16进制的方式,存放中文的时候就会更加方便,这就是unicode的主要作用。
所有的操作方法适合于各种数据操作,就因为它的编码是统一的,所以在描述中文的时候,要使用cha r来描述。