亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

Java - 基本运算符

Java 提供了一组丰富的运算符来操作变量。我们可以将所有 Java 运算符分为以下几组 -

算术运算符

算术运算符在数学表达式中的使用方式与在代数中的使用方式相同。下表列出了算术运算符 -

假设整数变量 A 为 10,变量 B 为 20,则 -

显示示例

运算符 描述 示例
+ (加法) 在运算符的任一侧添加值。 A + B会给30
-(减法) 从左侧操作数中减去右侧操作数。 A - B 会给出-10
* (乘法) 将运算符两边的值相乘。 A * B会给200
/(分区) 将左侧操作数除以右侧操作数。 B/A会给2
%(模数) 将左侧操作数除以右侧操作数并返回余数。 B % A 会给出0
++ (增量) 将操作数的值增加 1。 B++给出 21
--(递减) 将操作数的值减 1。 B-- 给出 19

关系运算符

Java语言支持的关系运算符有以下几种。

假设变量 A 为 10,变量 B 为 20,则 -

显示示例

运算符 描述 示例
==(等于) 检查两个操作数的值是否相等,如果是则条件为真。 (A ==B) 不正确。
!=(不等于) 检查两个操作数的值是否相等,如果值不相等则条件为真。 (A !=B) 为真。
>(大于) 检查左操作数的值是否大于右操作数的值,如果是则条件为真。 (A> B) 不正确。
<(小于) 检查左操作数的值是否小于右操作数的值,如果是则条件为真。 (A
>=(大于等于) 检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。 (A>=B) 不正确。
<=(小于等于) 检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。 (A <=B) 为真。

位运算符

Java定义了几个位运算符,可以应用于整数类型long、int、short、char和byte。

位运算符对位起作用并执行逐位操作。假设 a =60 且 b =13;现在以二进制格式显示如下 -

a =0011 1100

b =0000 1101

-----------------

a&b =0000 1100

a|b =0011 1101

a^b =0011 0001

~a =1100 0011

下表列出了按位运算符 -

假设整数变量 A 为 60,变量 B 为 13,则 -

显示示例

运算符 描述 示例
&(按位与) 如果两个操作数中都存在二进制AND运算符,则将其复制到结果中。 (A &B) 将给出 12 即 0000 1100
| (按位或) 二元或运算符如果存在于任一操作数中,则复制一点。 (A | B) 将给出 61 即 0011 1101
^ (按位异或) 二元异或操作符如果在一个操作数中设置,则复制该位,但不能同时在两个操作数中设置。 (A ^ B) 将给出 49 即 0011 0001
~(按位恭维) 二进制补码运算符是一元的,具有“翻转”位的效果。 (~A ) 将给出 -61,即 1100 0011 的 2 补码形式,因为有符号二进制数。
<<(左移) 二进制左移运算符。左操作数的值向左移动右操作数指定的位数。 A <<2 将给出 240 即 1111 0000
>>(右移) 二进制右移运算符。左操作数的值向右移动右操作数指定的位数。 A>> 2 将给出 15 即 1111
>>>(零填充右移) 右移零填充运算符。左操作数的值右移右操作数指定的位数,移位后的值用零填充。 A>>>2 将给出 15 即 0000 1111

逻辑运算符

下表列出了逻辑运算符 -

假设布尔变量 A 为真,变量 B 为假,则 -

显示示例

运算符 描述 示例
&&(逻辑与) 称为逻辑与运算符。如果两个操作数都不为零,则条件为真。 (A &&B) 为假
|| (逻辑或) 称为逻辑或运算符。如果两个操作数中的任何一个不为零,则条件为真。 (A || B) 为真
! (逻辑不) 称为逻辑非运算符。用于反转其操作数的逻辑状态。如果条件为真,则逻辑非运算符将为假。 !(A &&B) 为真

赋值运算符

以下是 Java 语言支持的赋值运算符 -

显示示例

运算符 描述 示例
= 简单的赋值运算符。将右侧操作数的值分配给左侧操作数。 C =A + B 将分配 A + 的值; B进C
+= 添加 AND 赋值运算符。它将右操作数添加到左操作数并将结果分配给左操作数。 C +=A 等价于 C =C +一个
-= 减和赋值运算符。它从左操作数中减去右操作数并将结果分配给左操作数。 C -=A 等价于 C =C – A
*= 乘与赋值运算符。它将右操作数与左操作数相乘并将结果分配给左操作数。 C *=A 等价于 C =C *一个
/= 除法与赋值运算符。它将左操作数与右操作数相除并将结果分配给左操作数。 C /=A 等价于 C =C / A
%= 模数与赋值运算符。它使用两个操作数取模并将结果分配给左操作数。 C %=A 等价于 C =C % A
<<= 左移AND赋值运算符。 C <<=2 等同于 C =C <<2
>>= 右移AND赋值运算符。 C>>=2 等同于 C =C>> 2
&= 按位与赋值运算符。 C &=2 等同于 C =C &2
^= 按位异或和赋值运算符。 C ^=2 与 C =C ^ 2 相同
|= 按位包含 OR 和赋值运算符。 C |=2 等同于 C =C | 2

杂项运算符

Java 语言支持的其他运算符很少。

条件运算符 (? :)

条件运算符也称为三元运算符 .该运算符由三个操作数组成,用于计算布尔表达式。运算符的目标是决定应该为变量分配哪个值。运算符写为 -

variable x = (expression) ? value if true : value if false

以下是一个例子 -

示例

现场演示
public class Test {

   public static void main(String args[]) {
      int a, b;
      a = 10;
      b = (a == 1) ? 20: 30;
      System.out.println( "Value of b is : " +  b );

      b = (a == 10) ? 20: 30;
      System.out.println( "Value of b is : " + b );
   }
}

这将产生以下结果 -

输出

Value of b is : 30
Value of b is : 20

instanceof 运算符

此运算符仅用于对象引用变量。运算符检查对象是否属于特定类型(类类型或接口类型)。 instanceof 运算符写为 -

( Object reference variable ) instanceof  (class/interface type)

如果运算符左侧的变量引用的对象通过了右侧类/接口类型的 IS-A 检查,则结果将为真。以下是一个例子 -

示例

现场演示
public class Test {

   public static void main(String args[]) {

      String name = "James";

      // following will return true since name is type of String
      boolean result = name instanceof String;
      System.out.println( result );
   }
}

这将产生以下结果 -

输出

true

如果要比较的对象是与右侧类型兼容的赋值,则此运算符仍将返回 true。以下是另一个例子 -

示例

现场演示
class Vehicle {}

public class Car extends Vehicle {

   public static void main(String args[]) {

      Vehicle a = new Car();
      boolean result =  a instanceof Car;
      System.out.println( result );
   }
}

这将产生以下结果 -

输出

true

Java 运算符的优先级

运算符优先级确定表达式中术语的分组。这会影响表达式的计算方式。某些运算符的优先级高于其他运算符;例如,乘法运算符的优先级高于加法运算符 -

例如,x =7 +; 3* 2;这里 x 被赋值为 13,而不是 20,因为运算符 *优先级高于 +,所以它首先乘以 3 * 2然后加到7中。

在这里,具有最高优先级的运算符出现在表格的顶部,那些具有最低优先级的出现在底部。在表达式中,优先级较高的运算符将首先被计算。

类别 运算符 关联性
后缀 表达式++表达式-- 从左到右
一元 ++表达式——表达式+表达式——表达式~! 从右到左
乘法 * / % 从左到右
添加剂 + - 从左到右
Shift <<>>>>> 从左到右
关系 <> <=>=instanceof 从左到右
平等 ==!= 从左到右
按位与 & 从左到右
按位异或 ^ 从左到右
按位或 | 从左到右
逻辑与 && 从左到右
逻辑或 || 从左到右
有条件的 ?: 从右到左
作业 =+=-=*=/=%=^=|=<<=>>=>>>= 从右到左

下一步是什么?

下一章将解释 Java 编程中的循环控制。本章将介绍各种类型的循环,以及这些循环如何在 Java 程序开发中使用以及它们的用途。


java

  1. Java 运算符
  2. Java 基本输入和输出
  3. Java 评论
  4. Java for-each 循环
  5. Java 字符串
  6. Java 接口
  7. Java 匿名类
  8. Java try-with-resources
  9. Java 注释
  10. Java 断言
  11. Java 向量
  12. Java - 基本语法