六、类型转换
6.1、自动类型转换(隐式)
特点:代码不需要进行特殊处理,自动完成。
规则:数据范围从小到大。
把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量
范例: doubled= 10;
表示数据范围从小到大图
6.2、强制类型转换
● 把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量
● 格式: 目标数据类型变量名 = (目标数据类型)值或者变量;
● 范例: int k = (int)88.88;
6.3、注意事项
① 强制类型转换一般不推荐使用,因为有可能发生精度损失、数据溢出。
② byte/short/char这三种类型都可以发生数学运算,例如加法“+”
③ byte/short/char这三种类型在运算的时候,都会被**首先提升成为int类型\,然后再计算。
④ boolean类型不能发生数据类型转换
6.4、ASCII码表
数字和字符的对照关系表(编码表) :
ASCII码表: American Standard Code for Information Interchange,美国信息交换标准代码。
Unicode码表:万国码。也是数字和符号的对照关系,开头0-127部分和ASCII完全一样,但是从128开始包含有更多字符。
七、运算符
7.1、算术运算符
Java中,整数使用以上运算符,无论怎么计算,也不会得到小数。
●注意:
① 对于一个整数的表达式来说,除法用的是整除,整数險以整数,结果仍然是整数。只看商,不看余数。
② 只有对于整数的除法来说,取模运算符才有余数的意义。
③ 一旦运算当中有不同类型的数据,那么结果将会是数据类型范围大的那种。
●四则运算当中的加号+有常见的三种用法:
① 对于数值来说,那就是加法。
② 对于字符char类型来说,在计算之前,char会被提升成为int,然后再计算。
char类型字符,和int类型数字,之间的对照关系表: ASCII、 Unicode 。
③ 对于字符串String (首字母大写,并不是关键字)来说,加号代表字符串连接操作。
●自增运算符: ++ (自减运算符: --)
含义:让一个变量涨一个数字1(让一个变量降一个数字1 !)
格式:写在交量名称之前,成者写在变量名称之后,例如 ++num、 也以是num++
使用方式:
① 单独使用:不和其他任何操作混合,自己独立成为一个步骤。
② 混合使用:和其他操作混合,例如与赋值混合,或者与打印操作混合等。
使用区别:
① 在单独使用的时候,前++和后++没有任何区别。 也就是: ++tnum; 和num++;是完全一样的。
② 在混合的时候,有【重大区别】:
★ 如果是前++(++ num),那么变量立刻马上+1,然后拿着结果进行使用。【先加后用】
★ 如果是后++(num ++),那么首先使用变量本来的数值,然后再让变量+1。【先用后加】
注意:只有变量才可以自增自减,常量不可以。
(与赋值操作混用相同)
●赋值运算符 =
基本赋值运算符 :就是一个等号“ = ”, 代表将右侧的数据交给左侧的变量。
复合赋值运算符 :
① += a += 1; ==> a = a + 1;
② -= a -= 1; ==> a = a - 1;
③ *= a *= 2; ==> a = a * 2;
④ /= a /= 2; ==> a = a / 2;
⑤ %= a %= 2; ==> a = a % 2;
注意:
① 只有变量才可以赋值,常量不可以。
② 复合赋值运算符隐含了强制类型转换。
7.2、比较运算符
7.2、逻辑运算符
● 与(并且) &&
全是true ,才为true ,否则是false
● 或(或者) ||
全是false,才为false,否则是true
● 非(取反) !
本来是true,变成false,本来是false,变成true
7.3、三元运算符
7.3.1、元的概念
一元运算符:只需要一个数据就可以进行操作的运算符。例如:取反!、自增++、自减–
二元运算符:需要两个数据才可以进行操作的运算符。例如:加法+、赋值=
三元运算符:需要三个数据才可以进行操作的运算符。
7.3.2、三元运算符
格式:数据类型变量名称 = 条件判断 ? 表达式A :表达式B;
流程:
首先判断条件是否成立:
● 如果成立为true, 那么将表达式A的值赋值给左侧的变量:
● 如果不成立为false, 那么将表达式B的值赋值给左侧的变量:
二者选其一。
注意事项:
● 必须同时保证表达式A和表达式B都符合左侧数据类型的要求。
● 三元运算符的结果必须被使用。