0
点赞
收藏
分享

微信扫一扫

【Java编程教程】详解 Java 中的运算符

小禹说财 2023-09-21 阅读 38

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


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


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

# Java 运算符优先级


运营商类型

类别

优先级

一元

后缀

*expr*++ *expr*--

字首

++*expr* --*expr* +*expr* -*expr* ~ !


算术

乘法的

* / %

添加剂

+ -


转移

转移

<< >> >>>

关系型

比较

< > <= >= instanceof

平等

== !=


按位

按位与

&

按位异或

^


按位包含或

|


合乎逻辑

逻辑与

&&

逻辑或

||


三元

三元的

? :

任务

任务

= += -= *= /= %= &= ^= |= <<= >>= >>>=

# Java 一元运算符


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


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

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


public 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

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


public 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 一元运算符示例:~ 和 !


public 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(减去从 0 开始的总正值)
System.out.println(~b);//9(总负数的正数,正数从0开始)
System.out.println(!c); //false(与布尔值相反)  
System.out.println(!d);//真的 
}}


输出:

-11
9
false
true

# Java 算术运算符


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

# Java 算术运算符示例


public 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 算术运算符示例:表达式


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


输出:

21


# Java 左移运算符


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


专属福利👉点击领取:651页Java面试题库

# Java 左移运算符示例


public 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 右移运算符示例


public 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 移位运算符示例:>> 与 >>>


public class OperatorExample{  
public static void main(String args[]){  
    //对于正数,>>和>>>工作相同 
    System.out.println(20>>2);  
    System.out.println(20>>>2);  
    //对于负数,>>> 将奇偶校验位 (MSB) 更改为 0   
    System.out.println(-20>>2);  
    System.out.println(-20>>>2);  
}}


输出:

5
5
-5
1073741819

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


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


按位 & 运算符总是检查两个条件,无论第一个条件是真还是假。


public 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 AND 运算符示例:逻辑 && 与按位 &


public 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 因为没有检查第二个条件
System.out.println(a<b&a++<c);//false && true = false  
System.out.println(a); //11 因为检查了第二个条件   
}}


输出:

false
10
false
11

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


合乎逻辑的 || 如果第一个条件为真,运算符不会检查第二个条件。只有当第一个条件为假时,它才会检查第二个条件。


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


public 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 因为没有检查第二个条件
System.out.println(a>b|a++<c);//true | true = true  
System.out.println(a);//11 因为检查了第二个条件  
}}


输出:

true
true
true
10
true
11

# Java 三元运算符


Java 三元运算符用作 if-then-else 语句的一行替换,在 Java 编程中使用很多。它是唯一接受三个操作数的条件运算符。


# Java 三元运算符示例


public 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


另一个例子:

public 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 赋值运算符示例


public 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 赋值运算符示例


public 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 赋值运算符示例:添加 short


public 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;//编译时错误,因为 10+10=20 现在是 int   
System.out.println(a);  
}}


输出:

Compile time error//编译时错误


类型转换后:

public class OperatorExample{  
public static void main(String args[]){  
short a=10;  
short b=10;  
a=(short)(a+b);//20 这是 int 现在转换为 short 
System.out.println(a);  
}}

输出:

20

举报

相关推荐

0 条评论