2.2 字符的使用细节
字符常量是单引号括起来的单个字符 。如:char a = ‘a’;
Java中还允许使用转义字符 '\' 来将其后面的字符转变为特殊字符型常量 。如:char a = ‘\n’;
Java中,char的本质是整数,在输出时,是码对应的字符 。
可以直接给char赋一个整数,然后输出时会按照字符输出 。如:97 -》a 。
文章插图
char类型是可以进行运算的,相当于一个整数,因为它都有对应的码 。
2.3 字符编码 字符型存储到计算机中,需要将字符对应的码找出来,如:‘a’
存储:‘a’ --》码值97--》二进制()--> 存储
读取:二进制() --> 97 --> 'a'字符和字符码对应关系是通过字符编码表决定的 。介绍一下字符编码表
ASCII:ASCII编码表一个字节表示,一个128个字符,实际上一个字节可以表示256个字符,但是只用128个 。
:编码表,固定大小的编码,使用两个字节表示字符,字母和汉字都是占用两个字符,浪费空间 。
utf-8:大小可变的编码,字母使用一个字节,汉字用三个字节 。
gbk:可以表示汉字,范围很广,字母1字节,汉字2字节 。
:可以表示汉字 。< gbk 。
big5:繁体中文,台湾,香港 。2.4 布尔类型 布尔类型也叫类型,类型数据只允许true或false,无null 。类型占1个字节 。类型适用于逻辑运算,一般用于程序流程控制等 。2.5 基本数据类型转换 自动类型转换 当Java程序在进行赋值或者运算时,精度小的类型自动转换为精度大的数据类型 。
自动类型转换注意细节 有多种类型的数据混合运算时,系统首先自动将所有的数据转换成容量最大的那种数据类型,然后进行计算 。当我们把精度大的赋给精度小的数据类型,那么就会报错,反之就会进行自动类型转换byte,shor和char之间不会相互自动转换 。byte,short,char他们三者可以计算,计算时首先转换为int类型 。不参与转换 。自动类型提升:表达式结果的类型自动提升为操作数中最大的类型 。举例
public class Demo{publica static void main(){//1. 多种类型混合运算,系统首先自动将所有数据转换成容量最大的数据类型,然后计算int a = 12;//float b = a + 1.2; //错误,a+1.2 -->结果类型是double//double b = a + 1.3; //正确 a+1.3 --> 结果类型double //float c = a + 1.5F; //正确 a+1.5F --> 结果类型是float//2. 我们把精度大的数据类型赋值给精度小的,就会报错,反之类型提升//int aa = 11.2; 错误 double --> int//3. (byte,short)和char之间不会相互转换byte bb = 126; //正确 -128 ~ 127//int cc = 1; byte bbb = cc; //错误//4. byte,short,char可以计算,计算时转换为int类型byte b1 = 1;byte b2 = 2;short s1 = 1;//short s2 = b1 + s1; //错,b1+s1 --> int//int ss = b2 + s1; //对}}
4. 强制类型转换
自动类型转换的逆过程,将容量大的数据类型转为容量小的数据类型,使用时加上强转符“()”,但是精度会降低或溢出 。
int i = (int) 1.1;System.out.println(i);int i2 = 111;byte b1 = (byte)i2;System.out.println(b1);
4.1 强制类型转换细节说明
当进行数据大的小 从大 --> 小,就需要强制类型转换 。强转符号只针对于最近的操作数有效,往往会使用小括号提升优先级 。
//int x = (int)10 * 3.6 + 12 * 1.6;int y = (int)(10 * 3.6 + 12 * 1.6);System.out.println(y);
char类型可以保存int的常量值,但不能保存int的变量,需要强转 。
char c1 = 100;//okint m = 100;//okchar c2 = m;//错误char c3 = (char)m;//oksystem.out.println(c3);//100对应的ASCII字符
- 【圣诞前夕】2017 ACOUG 年会惊喜来袭
- Android属性系统简介【转】
- java基础语法总复习思维导图 + 重难点+面试题
- 动态规划之灌溉草场
- 生成一个适合你的列表
- 免安装exe PuTTY下载
- 2019.08.16 日常总结
- 【已解决】Java 中导入excel时使用 trim 无法去除空格的解决方法
- 学单片机很简单
- 【CDH】CDH大数据平台实施经验总结