📜  Java 中的运算符

📅  最后修改于: 2020-09-24 02:58:14             🧑  作者: Mango

Java中的运算符

Java中的运算符是用于执行操作的符号。例如:+,-,*,/等。

Java中有许多类型的运算符,如下所示:

  • 一元运算符,
  • 算术运算符
  • 移位运算符
  • 关系运算符,
  • 按位运算符
  • 逻辑运算符
  • 三元运算符和
  • 分配运算符。

Java运算符优先级

Operator Type Category Precedence
Unary postfix expr++ expr--
prefix ++expr --expr +expr -expr ~ !
Arithmetic multiplicative * / %
additive + -
Shift shift << >> >>>
Relational comparison < > <= >= instanceof
equality == !=
Bitwise bitwise AND &
bitwise exclusive OR ^
bitwise inclusive OR |
Logical logical AND &&
logical OR ||
Ternary ternary ? :
Assignment assignment = += -= *= /= %= &= ^= |= <<= >>= >>>=

Java一元运算符

Java一元运算符仅需要一个操作数。一元运算符用于执行各种操作,即:

  • 将值递增/递减一
  • 否定表达式
  • 反转布尔值

Java一元运算符示例:++和-

class OperatorExample{  
public static void main(String args[]){  
int x=10;  
System.out.println(x++);//10 (11)  
System.out.println(++x);//12  
System.out.println(x--);//12 (11)  
System.out.println(--x);//10  
}}  

输出:

Java一元运算符示例2:++和-

class OperatorExample{  
public static void main(String args[]){  
int a=10;  
int b=10;  
System.out.println(a++ + ++a);//10+12=22  
System.out.println(b++ + b++);//10+11=21  
  }}  

输出:

Java一元运算符示例:〜和!

class OperatorExample{  
public static void main(String args[]){  
int a=10;  
int b=-10;  
boolean c=true;  
boolean d=false;  
System.out.println(~a);//-11 (minus of total positive value which starts from 0)  
System.out.println(~b);//9 (positive of total minus, positive starts from 0)  
System.out.println(!c);//false (opposite of boolean value)  
System.out.println(!d);//true  
}}  

输出:

Java算术运算符

Java算术运算符用于执行加,减,乘和除。它们充当基本的数学运算。

Java算术运算符示例

class OperatorExample{  
public static void main(String args[]){  
int a=10;  
int b=5;  
System.out.println(a+b);//15  
System.out.println(a-b);//5  
System.out.println(a*b);//50  
System.out.println(a/b);//2  
System.out.println(a%b);//0  
}}  

输出:

Java算术运算符示例:表达式

class OperatorExample{  
public static void main(String args[]){  
System.out.println(10*10/5+3-1*4/2);  
}}  

输出:

Java左移运算符

Java左移位运算符<<用于将值中的所有位移位到指定次数的左侧。

Java左移运算符示例

class OperatorExample{  
public static void main(String args[]){  
System.out.println(10<<2);//10*2^2=10*4=40  
System.out.println(10<<3);//10*2^3=10*8=80  
System.out.println(20<<2);//20*2^2=20*4=80  
System.out.println(15<<4);//15*2^4=15*16=240  
}}  

输出:

Java右移运算符

Java右移运算符>>用于将左操作数的值向右移动右操作数指定的位数。

Java右移运算符示例

class OperatorExample{  
public static void main(String args[]){  
System.out.println(10>>2);//10/2^2=10/4=2  
System.out.println(20>>2);//20/2^2=20/4=5  
System.out.println(20>>3);//20/2^3=20/8=2  
}}  

输出:

Java Shift运算符示例:>> vs >>>

class OperatorExample{  
public static void main(String args[]){  
    //For positive number, >> and >>> works same  
    System.out.println(20>>2);  
    System.out.println(20>>>2);  
    //For negative number, >>> changes parity bit (MSB) to 0  
    System.out.println(-20>>2);  
    System.out.println(-20>>>2);  
}}  

输出:

Java AND运算符示例:逻辑&&和按位&

如果第一个条件为假,则逻辑&&运算符不会检查第二个条件。仅在第一个条件为真时,它才检查第二个条件。

按位&运算符始终检查两个条件,无论第一个条件为true还是false。

class OperatorExample{  
public static void main(String args[]){  
int a=10;  
int b=5;  
int c=20;  
System.out.println(a

输出:

Java AND运算符示例:逻辑&&与按位&

class OperatorExample{  
public static void main(String args[]){  
int a=10;  
int b=5;  
int c=20;  
System.out.println(a

输出:

Java OR运算符示例:逻辑||和按位|

逻辑||如果第一个条件为真,运算符不会检查第二个条件。仅在第一个条件为假时,它才检查第二个条件。

按位|运算符始终检查两个条件,无论第一个条件为真还是假。

class OperatorExample{  
public static void main(String args[]){  
int a=10;  
int b=5;  
int c=20;  
System.out.println(a>b||ab|ab||a++b|a++

输出:

Java三元运算符

JavaTernary运算符用作if-then-else语句的一种衬里替换,并且在Java编程中使用很多。它是唯一使用三个操作数的条件运算符。

Java三元运算符示例

class OperatorExample{  
public static void main(String args[]){  
int a=2;  
int b=5;  
int min=(a

输出:

另一个例子:

class OperatorExample{  
public static void main(String args[]){  
int a=10;  
int b=5;  
int min=(a

输出:

Java赋值运算符

Java赋值运算符是最常见的运算符。它用于将其右侧的值分配给其左侧的操作数。

Java赋值运算符示例

class OperatorExample{  
public static void main(String args[]){  
int a=10;  
int b=20;  
a+=4;//a=a+4 (a=10+4)  
b-=4;//b=b-4 (b=20-4)  
System.out.println(a);  
System.out.println(b);  
}}  

输出:

Java赋值运算符示例

class OperatorExample{  
public static void main(String[] args){  
int a=10;  
a+=3;//10+3  
System.out.println(a);  
a-=4;//13-4  
System.out.println(a);  
a*=2;//9*2  
System.out.println(a);  
a/=2;//18/2  
System.out.println(a);  
}}  

输出:

Java Assignment Operator示例:添加简短内容

class OperatorExample{  
public static void main(String args[]){  
short a=10;  
short b=10;  
//a+=b;//a=a+b internally so fine  
a=a+b;//Compile time error because 10+10=20 now int  
System.out.println(a);  
}}  

输出:

类型转换后:

class OperatorExample{  
public static void main(String args[]){  
short a=10;  
short b=10;  
a=(short)(a+b);//20 which is int now converted to short  
System.out.println(a);  
}}  

输出:

您可能还喜欢