目录
一,每日收获
1.常用编码
1> ASCII 码介绍及其缺点
2> Unicode编码好处.缺点以及介绍
3> UTF-8编码介绍
4>布尔类型 boolean
2.自动类型转换基础及其细节
3.强制类型转换基础及其细节
二,新名词与小技巧
三,今天学习中所遇到的困难
一,每日收获
1.日常编码
1> ASCII 码介绍及其缺点:
ASCII码: 上世纪60年代,美国制定了一套字符编码(使用一个字节),对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码。ACSII码一共规定了123个字符的编码,只占用了一个字节的后面七位,最前面的1位统一规定为0位。
缺点:不能表示所有字符? (资料中有完整的ASCII码表)
2> Unicode编码好处及其缺点:
Unicode编码好处:一种编码,将世界上所有的符号都纳入其中。每一个符号都给予一个独一无二的编码,使用 Unicode 没有乱码的问题。
Unicode编码缺点:?一个英文字母和一个汉字都占用2个字节,这对于存储空间来说是浪费。
介绍:2的16次方是 65536,所以最多编码是65536个字符。
? ? ? ? ? ?编码0-127的字符是与ASCII的编码一样比如a'在ASCII码是 0x61,在 unicode码是ox0061,都对应97.因此 Unicode码兼容 ASCII码
3>?UTF-8编码介绍:
UTF-8 是在互联网上使用最广的一种 Unicode 的实现方式
UTF-8 是一种变长的编码方式。它可以使用 1-6 个字节表示一个符号,根据不
同的符号而变化字节长度。
使用 大小可变的编码 字母占1个字节,汉字占3个字节
4> boolean(布尔类型)
① 布尔类型也叫boolean类型,booolean类型数据只允许取值true和false,无null
② boolean类型占1个字节
③ boolean 类型适于逻辑运算一般用于程序流程控制。比如:if条件控制语句;while循环控制语句;
do-while循环控制语句;for循环控制语句
2.自动类型转换基础及其细节
介绍
当java程序在进行赋值或者运算时,精度小的类型自动转换为精度大的数据类型这个就是自动类型转换。
数据类型按精度(容量)大小排序(背)
举个栗子:int c1 = 'a'; double a = 97;
细节
① 有多种类型的数据混合运算时,系统首先自动将所有数据oatt转换成容量最大的那种数据类型,然后再进行计算。
② 当我们把精度(容量)大 的数据类型赋值给精度(容量)小 的数据类型时,就会错,反之就会进行自动类型转换。
③ (byte,short) 和 char之间不会相互自动转换
④ byte,short,char 他们三者可以计算,在计算时首先转换为int类型
⑤ 自动提升原则: 表达式结果的类型自动提升为 操作数中最大的类型
我认为其中③④点要用实例解释
//细节 3: (byte, short) 和 char 之间不会相互自动转换
//当把具体数赋给 byte 时,(1)先判断该数是否在 byte 范围内,如果是就可以
byte b1 = 10; //对 , -128-127
// int n2 = 1; //n2 是 int
// byte b2 = n2; //错误,原因: 如果是变量赋值,判断类型
//
// char c1 = b1; //错误, 原因 byte 不能自动转成 char
//
//细节 4: byte,short,char 他们三者可以计算,在计算时首先转换为 int 类型
byte b2 = 1;
byte b3 = 2;
short s1 = 1;
//short s2 = b2 + s1;//错, b2 + s1 => int
int s2 = b2 + s1;//对, b2 + s1 => int
//byte b4 = b2 + b3; //错误: b2 + b3 => int
//
3.强制类型转换基础及其细节
介绍
自动类型转换的逆过程,
将容量大的数据类型转换为容量小的数据类型
。使用时要加上强制转换符
( )
,但可能造成 精度降低或溢出,
格外要注意。
细节
① 当进行数据的大小从 大一>小就需要使用到强制转换
② 强转符号只针对于最近的操作数有效,往往会使用小括号提升优先级
③ char类型可以保存 int的常量值,但不能保存int的变量值,需要强转
④?byte和short,char 类型在进行运算时,当做int类型处理
②? ? ?//强转符号只针对于最近的操作数有效,往往会使用小括号提升优先级
????????//int x = (int)10*3.5+6*1.5;//编译错误: double -> int
????????int x = (int)(10*3.5+6*1.5);// (int)44.0 -> 44
????????System.out.println(x);//44
③????char c1 = 100; //ok
????????int m = 100; //ok
????????//char c2 = m; //错误
????????char c3 = (char)m; //ok
????????System.out.println(c3);//100 对应的字符, d 字符
二,新名词与小技巧
自动类型转换 强制类型转换 意思就是字面意思 要注意细节忘记就来看我都标记了
三,今天学习中所遇到的困难
今天在使用sublime? 实操的时候我误触了一个使用问题就是按shift+insert(数字键盘0)时光标会发生变化
两种光标作用不同 第一种是在其后输入 第二种是在当前位置输入如果当前位置上有字母直接替换