Java中常用的运算符
运算符是一种“功能”符号,用以通知 Java 进行相关的运算。譬如,我们需要将变量 score 的值设置为 20 ,这时候就需要一个“=”,告诉程序需要进行赋值操作。
Java 语言中常用的运算符可分为如下几种:
- 算术运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
- 条件运算符
一:Java中的算术运算符;
其中,++ 和 -- 既可以出现在操作数的左边,也可以出现在右边,但结果是不同的
例如;
代码如下:
public class HelloWorld { public static void main(String []args) { int a=2; int b=++a;//++a 先让a自增,然后将值赋给变量; System.out.println("a:"+a); System.out.println("b:"+b); int c=2; int d=c++;//c++ 先将c的值赋给d,然后再执行自增; System.out.println("c:"+c); System.out.println("d:"+d); } }
运行结果为;
解析:b=++a;先处理++a,a自增1并赋值给a,a=6;再处理赋值,b=a
而d=c++;先处理赋值,先将c赋给d,d=c,然后执行自增1
二:Java中的赋值运算符;
赋值运算符是指为变量或常量指定数值的符号。如可以使用 “=” 将右边的表达式结果赋给左边的操作数。
Java 支持的常用赋值运算符,如下表所示:
三:Java中的比较运算符;
比较运算符用于判断两个数据的大小,例如:大于、等于、不等于。比较的结果是一个布尔值( true 或 false )。
Java 中常用的比较运算符如下表所示:
注:
1、 > 、 < 、 >= 、 <= 只支持左右两边操作数是数值类型
2、 == 、 != 两边的操作数既可以是数值类型,也可以是引用类型
四:Java中的逻辑运算符;
逻辑运算符主要用于进行逻辑运算。Java 中常用的逻辑运算符如下表所示:
这里需要注意的是,逻辑运算符比较的对象元素可以是值,变量或是条件,当比较的元素为值时,0代表false,其他非零值代表true。
例如:
代码如下:
public class HelloWorld { public static void main(String []args) { boolean a=true; boolean b=false; boolean c=true; System.out.println(a&&b); System.out.println(a||b); System.out.println(!a); System.out.println(a^b); System.out.println(a^c); } }
运行结果为:
注:逻辑运算符的‘||’在做比较时,是先判断左边的元素是否为true,当其为true时,直接返回true,不会继续判断右边了,同理,'&&'如果可以判断左边的元素为false,则直接返回false,不继续向下判断。
五:Java中的条件运算符;
条件运算符( ? : )也称为 “三元运算符”。
语法形式:布尔表达式 ? 表达式1 :表达式2
运算过程:如果布尔表达式的值为 true ,则返回 表达式1 的值,否则返回 表达式2 的值
例如:
代码如下:
public class HelloWorld { public static void main(String []args) { String str = (5>1)? "5大于1" : "5不大于1"; System.out.println(str); } }
运行结果为:
注:因为表达式 5>1 的值为 true ,所以返回: 5大于1
六:Java中运算符的优先级;
所谓优先级,就是在表达式中的运算顺序。Java 中常用的运算符的优先级如下表所示:
级别为 1 的优先级最高,级别 11 的优先级最低。譬如,x = 5 + 3 * 2 得到的结果是 11 “先乘后加”嘛!
注:其实没必要去死记运算符的优先级顺序,实际开发中,一般会使用小括号辅助进行优先级管理。因为小括号优先级最高。
例如:
代码如下:
public class HelloWorld { public static void main(String []args) { int a =10; int b = a*(a+18); System.out.println("b:"+b); } }
运行结果为:
解析:因为括号优先级最高所以先算a+18 再算 a*28.