个性化阅读
专注于IT技术分析

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

输出:

20
赞(0)
未经允许不得转载:srcmini » Java中的操作符

评论 抢沙发

评论前必须登录!