尚学堂 老师好!

上海:15201841284

广州:020-2989 6995

深圳:0755-23061965

武汉:027-8798 9193

西安:029-8822 8155

Java运算符

java中的运算符是用于执行运算(加,减,乘,除等)操作的符号。例如:+, - ,*/等。

更多精彩内容以及学习资料,尚学堂论坛bbs.bjsxt.com免费下载。

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

  • 一元运算符
  • 算术运算符
  • 移位运算符
  • 关系运算符
  • 按位运算符
  • 逻辑运算符
  • 三元运算符
  • 分配运算符
运算符 优先级
后缀 expr++, expr--
一元 ++expr, --expr, +expr, -expr~!
乘、除法 */,%
加、减法 +, -
移位 <<, >>, >>>
关系 <, >, <=>=, instanceof
相等 ==, !=
按位与 &
按位异或 ^
按位或 Java运算符
逻辑与 &&
逻辑或 Java运算符
三元 ? :
赋值 =, +=, -=, *=, /=%=&=, ^=, <<=, >>=, >>>=Java运算符

下面分别来看上述运行算的示例:

1. 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

输出结果如下:

 10 12 12 10 
Java

2. 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

输出结果如下:

 22 21 
Java

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

 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

输出结果如下:

 -11 9 false true 
Java

4. 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

输出结果如下:

 15 5 50 2 0 
Java

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

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

输出结果如下:

 21 
Java

6. 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

输出结果如下:

 40 80 80 240 
Java

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

输出结果如下:

 2 5 2 
Java

8. java的移位运算实例:>> 和 >>>

 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 nagative number, >>> changes parity bit (MSB) to 0         System.out.println(-20 >> 2);         System.out.println(-20 >>> 2);     } } 
Java

输出结果如下:

 5 5 -5 1073741819 
Java

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

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

按位与(&)运算符总是检查两个条件,不管第一个条件是真还是假。

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

输出结果如下:

 false false 
Java

10. 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);// 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     } } 
Java

输出结果如下:

 false 10 false 11 
Java

11. Java 或运算符示例:逻辑|| 和按位 |

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

按位或 | 运算符总是检查两个条件,不管第一个条件是真(true)还是假(false)。

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

输出结果如下:

 true true true 10 true 11 
Java

12. 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);     } } 
Java

输出结果如下:

 2 
Java

另一个例子:

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

输出结果如下:

 5 
Java

13. 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

输出结果如下:

 14 16 
Java

14. Java分配运算符示例:相加short类型数据

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

输出结果如下:

 编译时错误.... 
Java

类型转换后:

 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

更多精彩内容以及学习资料,尚学堂论坛bbs.bjsxt.com免费下载。

  • 北京校区
  • 西安校区
  • 山西校区
  • 武汉校区
  • 深圳校区
  • 上海校区
  • 广州校区
  • 保定招生办
  • 黑龙江项目办

北京京南校区:北京亦庄经济开发区科创十四街6号院1号楼 赛蒂国际工业园
咨询电话:400-009-1906 / 010-56233821
面授课程: JavaEE+微服务+大数据     大数据+机器学习+平台架构     Python+数据分析+机器学习  人工智能+模式识别+强化学习   WEB前端+移动端+服务端渲染

地址:陕西省西安市高新区西安软件园西区创新信息大厦A座三层尚学堂

电话:029-88228155 / 18291433445

山西学区地址:山西省晋中市榆次区大学城大学生活广场万科商业A1座702

武汉学区地址:武汉市东湖高新区光谷金融港B22栋11楼
咨询电话:027-87989193

深圳校区地址:深圳市宝安区航城大道U8智造产业园U6栋3楼
咨询电话:0755-23061965 / 18898413781

上海尚学堂校区地址:上海市浦东新区城丰路650号
咨询电话:021-67690939

广州校区地址:广州市天河区车陂街道大岗路5号中侨广场2栋321室(四号线车陂站D出口,或brt车陂站)
咨询电话:18948349646

保定招生办公室

地址:河北省保定市竞秀区朝阳南大街777号鸿悦国际1101室

电话:15132423123

黑龙江项目办
地点:哈尔滨市松北区博文路青年部落孵化器1层
电话:15321415678
Copyright 2006-2021 北京尚学堂科技有限公司  京ICP备13018289号-19  京公网安备11010802015183   营业执照
网站维护:北京尚学堂科技有限公司昌平分公司