1、算术运算符
注意:
1、加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串。
2、除法“/”当两边为整数时,取整数部分,舍余数。当其中一边为浮点型时,按正常规则相除。
3、“%”为整除取余符号,小数取余没有意义。结果符号与被取余符号相同。
4、 整数做被除数,0不能做除数,否则报错。
/* * 算术运算符 */ public class OperatorDemo1 { public static void main(String[] args) { /* * 常量使用算数运算符 */ System.out.println(10+20); /* * 变量使用算数运算符 */ int x = 10; int y = 20; //"+"作为加法运算使用 int z = x + y; //"+"作为连接字符串使用 System.out.println("x="+x); System.out.println("y="+y); System.out.println("z="+z); } }
算术运算负++、--的使用注意事项:
在一般情况下,算数运算符不会改变参与计算的变量值。而是在原有变量值不变的情况下,计算出新的值。
但是有些操作符会改变参与计算的变量的值,比如++,--。
①
int a = 3; int b = 3; a++; b--; System.out.println(a); System.out.println(b);
上面代码的输出结果a值为4,b值为2;
这说明a的原有值发生了改变,在原有值的基础上自增1;b的原有值也发生了改变,在原有值的基础上自减1;
1)++运算符,会在原有值的基础上自增1;
2)--运算符,会在原有值的基础上自减1。
②
int a = 3; int b = 3; ++a; --b; System.out.println(a); System.out.println(b);
上面代码的输出结果a值为4,b值为2;
这说明++,--运算符单独使用,不参与运算操作时,运算符前后位置导致的运算结果是一致的。
参与运算时的++,--情况:
①
int a = 3; int b; b = a++ + 10; System.out.println(a); System.out.println(b);
上面代码的输出结果a值为4,b值为13;
这里强调一下,当++,--运算符参与运算操作时,后置++,--的作用:
++,--运算符后置时,先使用变量a原有值参与运算操作,运算操作完成后,变量a的值自增1或者自减1;
②
再介绍下++,--运算符前置时,参与运算操作的变化,我们来看一段代码:
int a = 3; int b; b = ++a + 10; System.out.println(a); System.out.println(b);
上面代码的输出结果a值为4,b值为14;
这里我强调一下,当++,--运算符参与运算操作时,前置++,--的作用:
++,--运算符前置时,先将变量a的值自增1或者自减1,然后使用更新后的新值参与运算操作。
2、赋值运算符
注意:
诸如+=这样形式的赋值运算符,会将结果自动强转成等号左边的数据类型。
实例:
/* * 赋值运算符 * +=, -=, *=, /=, %= : * 上面的运算符作用:将等号左右两边计算,会将结果自动强转成等号左边的数据类型,再赋值给等号左边的 * 注意:赋值运算符左边必须是变量 */ public class OperatorDemo2 { public static void main(String[] args) { byte x = 10; x += 20;// 相当于 x = (byte)(x+20); System.out.println(x); } }
3、比较运算符
比较运算符,又叫关系运算符,它是用来判断两个操作数的大小关系及是否相等关系的,结果是布尔值true或者false。
注意:
赋值运算符的 = 符号与比较运算符的 == 符号是有区别的,如下:
①赋值运算符的 = 符号,是用来将 = 符号右边的值,赋值给 = 符号左边的变量;
②比较运算符的 == 符号,是用来判断 == 符号 左右变量的值是否相等的。
实例:
int a = 3; int b = 4; System.out.println( a=b ); System.out.println( a==b );
上面代码输出的结果第一个值为4,第二个值为true。
4、逻辑运算符
逻辑运算符,它是用于布尔值进行运算的,运算的最终结果为布尔值true或false。
总结:
& 两边只要有一个flase那么结果就是false;
| 两边只要有一个true那么结果就是true;
^ 两边结果不一样时结果为true,两边结果一样时结果为false;
! 取反结果;
&& 左边只要是false那么结果就是false,不在判断后面;
|| 左边只要是true那么结果就是true,不在判断后面;
注意事项:
①逻辑运算符通常连接两个其他表达式计算后的布尔值结果
②使短路与或者短路或时,只要能判断出结果则后边的部分就不再判断。