java运算符

java运算符

    • 运算符分类
      • **运算符指明对操作数的运算方式。组成表达式的Java操作符有很多种。**
      • 1.单目
      • 2.双目
      • 3.三目
    • 1.算数运算符
    • 2.关系运算符
    • 3.逻辑运算符
    • 4.赋值运算符
    • 5.自增与自减
    • 6.位运算
    • 5.运算符优先级

运算符分类

运算符指明对操作数的运算方式。组成表达式的Java操作符有很多种。

  • 运算符按照其要求的操作数数目来分,可以有单目运算符、双目运算符和三目运算符,它们分别对应于1个、2个、3个操作数。
  • 运算符按其功能来分,有算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符和其他运算符。

1.单目

  • 单目:~(按位取反)、! (取非)、-(负号运算符)、 ++(自增)、 - -(自减)

2.双目

  • 双目 + - * / %(取余)

3.三目

  • 三目:a>b?true:false 说明:当a大于b的时候,为true(也就是冒号之前的值),否则为false;这整个运算符包括一个关系运算符(可以是“>”"<""!="等等),一个“?”,一个“:”,冒号前后需要有两个表达式或者是值或者是对象。

1.算数运算符

  • 加 +
  • 减 -
  • 乘 *
  • 除 /

整数做除运算时只能求商

  • 取模 %
  • 与 &
按位将参与运算的数字转换为二级制数,相同位数进行与运算,全1为1,否则为0
System.out.println( 5 & 8);//结果为0
/*
 *0101   5
 *1000   8
 *0000   0
 */
  • 或 |
将参与运算的数字转换为二级制数,相同位数进行或运算,有1则1,否则为0
System.out.println(19 | 10);//结果为27
		/*
		 * 10011	19
		 * 01010	10
		 * 11011	27
		 */
  • 异或 ^
将参与运算的数字转换为二级制数,相同位数进行异或运算,不同为1,否则为0
System.out.println(19 ^ 10);//结果为25
		/*
		 * 10011	19
		 * 01010	10
		 * 11001	25
		 */

2.关系运算符

运算的结果为boolean类型 (true或fales)
  • 等于符号:==
  • 不等于符号:!=
  • 大于符号:>
  • 小于符号:<
  • 大于等于符号:>=
  • 小于等于符号:<=
  • ! 取反

3.逻辑运算符

运算结果为boolean类型(true或fales)

  • 与 &
  • 或 |
  • 异或 ^
  • 短路运算符
    • 短路与 &&
      若&&左边的表达式为false则不再执行右边的表达式
    • 短路或||
      若||左边的表达式为true则不再执行右边的表达式

4.赋值运算符

= 等号右边赋值给等号左边

  • +=
a += b 等同于 a = a+b 
  • -=
  • *=
  • /=
  • %=
  • &=
  • |=
  • ^=

5.自增与自减

  • ++ i 先自增,再运算
  • i ++先运算,再自增
  • –i 先自减,再运算
  • i - - 先运算,再自增

6.位运算

只能进行整数运算,将符号左边的数转换为二级制数,移动符号右边的位数
  • 带符号右移

int a = 10;
		System.out.println(a >> 2 );
		/*
		 * 1010 10
		 * 0010 2
		 */
  • <<带符号左移
  • (>>>无符号右移)

5.运算符优先级

java运算符_第1张图片

你可能感兴趣的:(基础,java语法)