赋值运算符(=):
代码语言:javascript复制将等号右边的数赋值给等号左边的变量或者final修饰的常量。
算数运算符( 、-、*、/、%、 、--)
代码语言:javascript复制 :表示正数,做加法运算,和字符串类型搭配使用做连接符
-:表示负数,做减法运算。
*:做乘法运算。
/:做除法运算(两个整数相除,结果去整数,只要除法中有小数,则结果为小数。如:int num = 7 / 5;输出结果为1.)
%:取模运算,获得两个数相除的余数。(如: 5%3 结果为2).
:自增运算:
num 和 num的区别:
num 先运算,再自增。
num 先自增,再运算。
[重点] int num = 10;
num = num ;
System.out.println(num); 输出结果为10.
分析:在执行num 会先定义一个变量,用于保存num的初始值。
执行num 自增操作:num = num 1, num=11
把nun 的结果来参与运算,也就是将保存num初始值的变量参与运算,即num = num =10;
--:自减运算符:
num-- 和 --num的区别:
num-- 先运算,再自减。
--num 先自减,再运算。
扩展运算符( =、-=、*=、/=、%=):
代码语言:javascript复制 = 例如: m n,等效于:m = (m对应类型)(m (n));
-= 例如: m n,等效于:m = (m对应类型)(m-(n));
*= 例如: m n,等效于:m = (m对应类型)(m*(n));
/= 例如: m n,等效于:m = (m对应类型)(m/(n));
%= 例如: m n,等效于:m = (m对应类型)(m%(n));
注意:m不能为常量,因为常量无法重新赋值。 难点:
代码语言:javascript复制 short num = 11;
num = num 1; //编译错误,因为num 1的结果为int类型。
short num = 11;
num = 1; //输出为12,在进行扩展运算符时,会自动强转为变量对应的数据类型。
关系运算符:
、<、 >=、<=、==、!= ==(等于)判断左右两边的数据值是否相等,可以用来比较小数,整数和char类型。
!=(不等于)判断左右两边的数据值是否不相等,可以用来比较小数,整数和char类型。 逻辑运算符: 包含:&、|、^、&&、||、! 与运算(&):当两边都为true时,结果为true;只要一边为false,则与运算的结果为false。 或运算(&):当两边都为false时,结果为false;只要一边为true,则与运算的结果为true。 异或运算(^):当两边相等时,则结果为false;当两边不相等,则结果为true。 短路与运算(&&):当两边都为true时,结果为true;只要一边为false,则与运算的结果为false。
代码语言:javascript复制 与"与运算"的区别:当第一个操作数时为true时,则不会执行第二个操作数的运算。
短路或运算(||):当两边都为false时,结果为false;只要一边为true,则与运算的结果为true。
代码语言:javascript复制 与"或运算"的区别:当第一个操作数为false时,则不会执行第二个操作数的运算。
非运算(!):取反的意思,取反的意思,即!true 结果为false;!false 结果为true。 位运算(二进制运算): &、|、^、~、<<、>>、>>> &、|、^ 与Boolean参与运算时为与或和异或的运算。 &、|、^ 与数值参与运算时则为位运算。 与位运算(&):
代码语言:javascript复制 当同一列两个位都为1时,则结果位1,当同一列两位数至少有一个位0时,则结果为0.
或位运算(|)
代码语言:javascript复制 当同一列两个位都为0时,则结果为0,当同一列两位数至少有一个位1时,则结果为0.
异或位运算(^)
代码语言:javascript复制 当同一列两个数相同时,结果为0,当同一列两个数不同时,结果为1.
非运算(~)
代码语言:javascript复制 取反运算,当位为0时,则结果为1,当位为1时,则结果为0
左移位运算(<<)
代码语言:javascript复制 把原来的二进制向左移动,末尾补零,如m << n,就是将m的二进制位向左移动n位,得到的结果为m*2^n(正数和负数均通用)
右移位运算(>>)
代码语言:javascript复制 把原来的二进制向右移动,正数高位补零,负数高位补1
如m >> n,就是将m的二进制位向左移动n位,得到的结果为m/2^n(仅适用于正数)
无符号右移为运算(>>>)
代码语言:javascript复制 把原来的二进制向右移动,正数和负数高位均补0.
正数的无符号右移位:如m>>>n,向右移动n位,结果为m/2^n
三目运算: 语法:条件表达式?表达式1:表达式2 如:int num =num >10 ? num = 1: num-=1; 字符串的比较 使用equals()方法: 如 int 1 = "3",num2 = "4";
代码语言:javascript复制 num1.equals(num2);
返回结果为true,则表示字符串1与字符串2内容相同 返回结果为false,则表示字符串1与字符串2内容不同