运算符是一种特殊的符号,用来表示数据的运算,赋值和比较等,Java语言使用运算符将一个或者多个操作数连接成执行性语句,常见的运算符有以下几种:
- 算术运算符
这些运算符执行基本的算术运算,常见的有+ - * / % ++ --,这里主要说一下自增和自减运算符
//算术运算符 + - * / % ++ --
int a=10;
int b=20;
int c=10;
boolean flag=true;
//a++计算时先进性计算,再给a的值加1
System.out.println(a++);
System.out.println(a);
//++a计算时先将a的值加1,再进行计算
System.out.println(++a);
System.out.println(a);
注意,自增和自减只用于操作变量,不能用于数值直接量,常量和表达式,如5++,6–等写法都是错误的
- 赋值运算符符
-值运算符用于制定变量的额值,java的赋值运算符是=,
String str="JAVA";
double d=3.14;
boolean boo=false;
将赋值运算符右边的值赋给运算符左边。
注意:=和==是有区别的,前者为赋值操作,后者为逻辑运算符,判断左右两边是否相等。
- 位运算符
位运算符只能操作整数类型的变量或值,左移<<和右移>>操作是将操作数的二进制代码整体左移或右移制定的位数,移动后空出来的位用0补充
System.out.println(5<<2);//输出20
System.out.println(-5<<2);//输出-20
- 逻辑运算符
逻辑运算符用于操作两个布尔类型的变量或常量 常用的逻辑运算符有:
- && 与运算符 同真为真。有一假则为假
- || 或运算符 有一真则为真 同假则为假
- ! 只有一个操作数,如果操作数为真,则返回假
int a=10;
int b=20;
int c=10;
boolean flag=true;
System.out.println(a==b);//false
System.out.println(a==c);//true
System.out.println(flag);//true
//&&运算符 两边都为true 结果为true 只要有一个为false,结果为false
System.out.println((a==b)&&(a==c));//false
System.out.println(flag&&(a==c));//true
System.out.println((a==b)||(a==c));//true
System.out.println(flag||(a==c));//true
System.out.println(!(a==b));//true
System.out.println(!(a==c));//flase
注意: &&和&的区别:
&&运算符需要对每一个操作数进行判断,得出最终结果,而&运算符只判断第一个操作数,第一个操作数如果是flase,则运算符后的操作数不做判断,这样就提高了程序的运行效率
- 运算符的优先级
所有数学运算符都是从左到右计算的,java中多数运算符也是从左到右结合的,只有单目运算符,赋值运算符和三目运算符除外,他们是从右向左结合的。运算符有不同的优先级,所谓的优先级就是运算符在表达式中的计算春旭,下表列出了运算符的优先级