Java中的操作符

本文概要

  • Java的运算符优先级
操作员在Java是一种用于执行操作的象征。例如:+, – ,*,/等
有许多类型Java中的运营商,其给出如下:
  • 一元运算符,
  • 算术运算符,
  • 移位运算符,
  • 关系运算符
  • 位运算符,
  • 逻辑运算符,
  • 三元运营商和
  • 赋值运算符。
Java的运算符优先级
操作类型类别优先权
UnarypostfixEXPR ++ expr–
prefix++expr --expr +expr -expr ~ !
算术multiplicative* / %
添加+ -
Shift转移< < > > > > >
Relational对照< > < = > = instanceof
equality==!=
Bitwisebitwise AND
bitwise exclusive OR^
按位或|
Logical逻辑与& &
logical OR||
Ternaryternary? :
Assignmentassignment= + = – = * = / =%=&= ^ = | = < < = > > = > > > =
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 }}

输出:
10 12 12 10

爪哇元运算符实施例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}}

输出:
22 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 }}

输出:
-11 9 false true

Java的算术运算符
Java的arithmatic运营商被用来进行加,减,乘,除。他们作为基本的数学运算。
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 }}

输出:
15 5 50 2 0

Java的算术运算符示例:表达式
class OperatorExample{ public static void main(String args[]){ System.out.println(10*10/5+3-1*4/2); }}

输出:
21

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 }}

输出:
40 80 80 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 }}

输出:
2 5 2

Java的移位运算实例:> > 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); }}

输出:
5 5 -5 1073741819

Java和操作实例:逻辑& & 和按位&
逻辑& & 运算符不检查第二个条件,如果第一个条件是假的。它检查只有第一个是真正的第二个条件。
按位与操作者总是检查这两个条件的第一条件是真还是假。
class OperatorExample{ public static void main(String args[]){ int a=10; int b=5; int c=20; System.out.println(a< b& & a< c); //false & & true = false System.out.println(a< b& a< c); //false & true = false }}

输出:
false false

Java和操作实例:逻辑& & VS按位&
class OperatorExample{ public static void main(String args[]){ int a=10; int b=5; int c=20; System.out.println(a< b& & a++< c); //false & & true = false System.out.println(a); //10 because second condition is not checked System.out.println(a< b& a++< c); //false & & true = false System.out.println(a); //11 because second condition is checked }}

输出:
false 10 false 11

Java或操作实例:逻辑||和按位|
逻辑||运营商不检查第二个条件,如果第一个条件是真实的。它检查只有第一个是假的第二个条件。
按位|运营商总是检查这两个条件的第一条件是真还是假。
class OperatorExample{ public static void main(String args[]){ int a=10; int b=5; int c=20; System.out.println(a>b||a< c); //true || true = true System.out.println(a>b|a< c); //true | true = true //|| vs | System.out.println(a>b||a++< c); //true || true = true System.out.println(a); //10 because second condition is not checked System.out.println(a>b|a++< c); //true | true = true System.out.println(a); //11 because second condition is checked }}

输出:
true true true 10 true 11

Java的三元运算符
Java的三元运营商作为一个内衬替代的if-then-else语句,并使用了很多的Java编程。它是唯一有条件的经营者这需要三个操作数。
Java的三元运算符实例
class OperatorExample{ public static void main(String args[]){ int a=2; int b=5; int min=(a< b)?a:b; System.out.println(min); }}

输出:
2

另一个例子:
class OperatorExample{ public static void main(String args[]){ int a=10; int b=5; int min=(a< b)?a:b; System.out.println(min); }}

输出:
5

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); }}

输出:
14 16

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); }}

输出:
13 9 18 9

Java的赋值运算符示例:将短
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); }}

输出:
Compile time error

类型转换后:
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); }}

【Java中的操作符】输出:
20

    推荐阅读