java语言 百分网手机站

Java的运算符和表达式

时间:2020-09-26 10:18:17 java语言 我要投稿

Java的运算符和表达式

  Java常用的运算符分为五类,位运算符除了简单的按位操作外,还有移位操作。按位操作返回布尔值。下面就为大家介绍一下Java的运算符和表达式,一起来看看吧!

  一、 算术运算符及算术表达式

  Java中常用的算术运算符如下:

  + 加运算符

  - 减运算符

  * 乘运算符

  / 除运算符

  % 取模运算(除运算的余数)

  ++ 增量运算符

  -- 减量运算符

  例:测试运算符及表达式,程序输出如图1。

  程序代码如下:

  //程序文件名称为NumberOper.java

  public class NumberOper

  {

  public static void main(String args[])

  {

  //变量初始化

  int a = 30;

  int a = 20;

  //定义结果变量

  int r1,r2,r3,r4,r5,r6,r7,r8,r9;

  //计算结果

  r1 = a + b;

  r2 = a-b;

  r3 = a * b;

  r4 = a/b;

  r5 = a % b;

  r6 = a ++;

  r7 = b --;

  r8 = ++ a;

  r9 = -- b;

  //输出结果

  System.out.println("a="+a+" b="+b);//a,b的值

  System.out.println("a+b="+r1);

  System.out.printla("a-b="+r2);

  System.out.println("a*b="+r3);

  System.out.println("a/b="+r4);

  System.out.println("a%b="+r5);

  System.out.println("a++="+r6);

  System.out.println("b--="+r7);

  System.out.println("++a="+r8);

  System.out.println("--b="=r9);

  }

  }

  图1:程序输出结果

  二、关系运算符

  关系运算符用于比较两个数据之间的大小关系,关系运算表达式返回布尔值,即“真”或“假”。

  Java中的常用关系运算如下:

  = = 等于

  != 不等于

  > 大于

  < 小于

  >= 大于等于

  <= 小于等于

  例:编写程序,测试关系运算符及其表达式,程序输出如图2。

  源程序代码如下:

  //程序文件名称为TestRelation.java

  public class TestRelation

  {

  public static void main(String args[])

  {

  //变量初始化

  int a = 30;

  int b = 20;

  //定义结果变量

  boolean r1,r2,r3,r4,r5,r6;

  //计算结果

  r1 = a == b;

  r2 = a != b;

  r3 = a > b;

  r4 = a < b;

  r5 = a >= b;

  r6 = a <= b;

  //输出结果

  System.out.println("a="+a" b="+b);

  System.out.println("a==b="+r1);

  System.out.println("a!=b="+r2);

  System.out.println("a>b="+r3);

  System.out.println("a<b="+r4);< p="">

  System.out.println("a>=b="+r5);

  System.out.println("a<=b="+r6);

  }

  }

  图2:程序输出结果

  三、布尔逻辑运算符

  表1:布尔运算符及规则

  表1为布尔逻辑运算符及其规则规例等。其中简洁或的执行结果分别与非简洁与和非腿法看的'执行结果是一致的,不同在于简洁与检测出符号左端的值为假时,不再判断符号右端的值,直接将运算结果为假;而简洁或与非简洁或的不同在于退罚款检测出符号左端为真是,不再判断符号右端的值,直接将运算结果置为真。

  例如:

  Boolean a = false;

  Boolean a = true;

  a&&b检测到a为假,则无需判断b的值,直接将值置为假;而b‖a时检测到b为真,则无需判断a的值,直接将值置为真。

  例:测试布尔表达式,程序输出结果如图3。源代码如下:

  //程序文件名称为TestLogic.java

  public class TestLogic

  {

  public static void main(String args[])

  {

  //变量初始化

  boolean a = false;

  boolean b = true;

  //定义结果变量

  boolean r1,r2,r3,r4,r5,r6;

  //计算结果

  r1 = !a;

  r2 = a & b;

  r3 = a|b;

  r4 = a^b;

  r5 = a && b;

  r6 = a‖b;

  System.out.println("a="+a+" b="+b);

  System.out.println("!a="+r1);

  System.out.println("a&b="+r2);

  System.out.println("a|b="+r3);

  System.out.println("a^b="+r4);

  System.out.println("a&&b="+r5);

  System.out.println("a‖b="=r6);

  }

  }

  图3:程序输出结果

  四、位运算符

  Java中的常用位运算符如下:

  ~位求反

  & 按位与

  | 按位或

  ^按位异或

  << 左移

  >> 右移

  >>> 不带符号右移

  右移运算符对应的表达式为x>>a,运算的结果是操作数x被2的a次方来除,左移运算符对应的表达式为x<<a,运算的结果是操作数x乘以2的a次方。< p="">

  例:测试位运算符<<和>>,程序输出结果如图4。

  源程序代码如下:

  //程序文件名称为TestBit.java

  public class TestBit

  {

  public static void main(String args[])

  {

  //变量初始化

  int a = 36;

  int b = 2;

  //定义结果变量

  int r1,r2;

  //计算结果

  r1 = a >> b;

  r2 = a << b;

  //输出结果

  System.out.println("a="+a+" b="+b);

  System.out.println("a>>b="+r1);

  System.out.println("a<<b="+r2);< p="">

  }

  }

  图4:程序输出结果

  五、赋值运算符

  赋值运算符分为简单运算符和复杂运算符。简单运算符指“=”,而复杂运算符是指算术运算符、逻辑运算符、位运算符中的双目运算符后而再加上“=”。表2列出Java常用的赋值运算符及其等价表达式。

  表2:赋值运算符

  六、其它操作符及其表达式

  三目运算符(?:)相当于条件判断,表达式x?y:z用于判断x是否为真,如果为真,表达式的值为y,否则表达式值为z。

  例如:

  int x = 5;

  int a = (x>3)?5:3;

  则a的值为5。如果x = 2,则a的值为3。

  对象运算符(instanceor)用来判断的一个对象是否属于某个指定的类或其子类的实例,如果是,返回真(true),否则返回假(false)。

  例:

  boolean b = userObject instanceof Applet

  用来判断userObject类是否是Applet类的实例。

  七、优先级

  表3:运算符优先级