六种常用运算符及进制-Java基础五-初学者笔记

初学者

一.运算符

1、算术运算符(9个)

算术运算符用于在数学表达式中,他们是在代数中使用的方法相同。

  1. 单目(只需要一个变量):+(取正)-(取负) ++(自增1) 1. -(自减1)
  2. 双目(需要两个变量):+ 1. * / %(取余)
  3. 三目(需要三个变量):a>b?true:false

说明:

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

2、关系运算符(6个)

关系运算符用来比较操作数.

  1. 等于符号:==
  2. 不等于符号: !=
  3. 大于符号:>
  4. 小于符号:<
  5. 大于等于符号: >=
  6. 小于等于符号: <=

3、逻辑运算符和位运算符

逻辑运算符用来描述与、或、非逻辑关系.

  1. AND(与) &
  2. OR(或) |
  3. XOR(异或) ^
  4. Not(非) !
  5. AND(短路与) &&
  6. OR(短路或) ||

a.逻辑运算符用于对boolean型结果的表达式进行运算,运算的结果都是boolean型 。

b.“&”和“&&”的区别在于,如果使用前者连接,那么无论任何情况,“&”两边的表达式都会参与计算。如果使用后者连接,当“&&”的左边为false,则将不会计算其右边的表达式。“|”和“||”的区别与“&”和“&&”的区别一样。

运算规则:

&运算规则:
true&true=true true&false=false false&true=false false&false=false
见false为false。

|运算规则:
true|true=true true|false=true false|true=true false|false=false
见true为true。

!运算规则:
!true=false !false=true
非否即是,非是即否。

^运算规则:
true^true=false true^false=true false^true=true false^false=false
相同则为false,不同则为true。

&&运算规则:
对于&&而言,如果前边的表达式的结果为false,则后边的表达式就不再运算。

||运算规则:
对于||而言,如果前边的表达式的结果为true,则后边的表达式就不再运算。

注意:短路特性可以提高代码的运算速度。

4、位移运算符

位移运算符可以应用到整数类型,长型,整型,短整型,字符和字节。它作用于位,并执行逐位操作.

  1. &(与)

  2. |(或)

  3. ^(异或)

  4. << 带符号左移

  5. '>>'带符号右移

  6. '>>>' 无号右移

    注:位运算符可以用来进行2的倍数有关的快速计算

原、反、补码

  数据在计算机中是以补码形式来存储的。最高位是一个符号位:如果是正数,最高位为0,如果是负数,最高位为1。对于正数而言,原反补三码一致。负数的反码是在原码的基础上,最高位不变,其余位0变1,1变0,负数的补码是在反码的基础上+1。

    1. 00000000 00000000 00000000 00000110—原码/反码/补码
  1. -6 1. 10000000 00000000 00000000 00000110—原码
  2. 11111111 11111111 11111111 11111001—反码
  3. 11111111 11111111 11111111 11111010—补码
  4. 11111111 11111111 11111111 11101101—补码
  5. 11111111 11111111 11111111 11101100—反码
  6. 10000000 00000000 00000000 00010011—原码— -19

5、赋值运算符

赋值运算符是为变量赋值所使用.

  1. = ;
  2. += ;
  3. -= ;
  4. *= ;
  5. /= ;
  6. %= ;
  7. &= ;
  8. ^= ;
  9. |= ;
  10. <<= ;
  11. =;

6、其它运算符

instanceof

instanceof运算符只用于对象引用变量,检查对象是否为特定类型(类或接口类型)。

三元

三元运算符又叫三目运算符,还可叫做条件运算符。

格式

逻辑值 ? 表达式1 :表达式2;

int i = 4, j = 7;
int k = i > j ? i : j;
System.out.println(k);//结果为j。
执行顺序:

如果逻辑值为true的话,执行表达式1,;反之执行表达式2。
①三元表达式在运算完成之后必须有一个结果。

//不允许,运算完成之后,没有结果。
A > b ? System.out.println( a ) : System.out.println( b );

②表达式1和表达式2的结果必须是相同类型或相容。

double d = a > b ? a * 2 : a * 2.5;

③在三元表达式形成嵌套的时候,尽量添加()来提高代码的可读性

int max = a > b ? ( a > c ? a : c ) : ( b > c ? b : c );

二.进制

你可能感兴趣的:(六种常用运算符及进制-Java基础五-初学者笔记)