Java运算符
算术运算符的使用
%:取余运算,结果的符号与被模数的符号相同;
前++(++a):先自增1,然后再赋值运算;
后++(a++):先运算,后自增1;
减法的和加法一样,大同小异;
注意:
自增1不会改变变量的数据类型
练习:求三位数整数的个十百位的数值:
赋值运算符的使用
赋值符号: =
当 “ = ” 两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。
支持连续赋值。
不会改变本身的数据类型;
●扩展赋值运算符:+= ,-= , *=,l= ,%=
比较运算符的使用
比较运算符的结果时boolean类型;
区分 == 和 = ;
逻辑运算符的使用
注意:
只操作于boolean类型的变量;
区分 逻辑与 和 短路与:
-------------如果符号左边的值都是true,则都需要进行逻辑运算符右边的运算;
-------------如果符号左边的值都是flase,则&&会短路,不进行右边的运算;
-------------两者的运算结果都是相同的;
其他的大同小异,注意区分即可;
开发中推荐使用短路与和短路或;
练习:
位运算符的使用
注意:
操作的数据变量类型为整型数据;
在一定范围内,每左移一位,相当于乘以2;每右移一位,相当于除以2;
左移补0,右移补和符号位一样的数据;
要特别注意无符号右移,而且没有无符号左移的说法;
交换两个变量的值:
方法1:定义临时变量;
方法2:
方法3:使用位运算符;
三元运算符的使用
●格式:(条件表达式)?表达式1:表达式2;
条件表达式的结果为boolean类型;
如果条件表达式为true,运算后的结果是表达式1;反之,运算后的结果是表达式2;
表达式1和表达式2要求时一致的;
三元运算符可以嵌套使用;
三元运算符与if-else的联系与区别:
三元运算符可简化if-else语句;
三元运算符要求必须返回一个结果;
if后的代码块可有多个语句;
三元运算符和if-else之间的转换:
凡是使用三元运算符的,都可以改成if-else;反之,不成立;
开发中,如果两者都可以实现,则优先选择三元运算符(简洁,运算效率还比较高);
运算符的优先级
只有单目运算符、三元运算符、赋值运算符是从右向左运算的;
下图优先级,上一行总比下一行高: