Java入门基础(二)——运算符

172 阅读3分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第7天,点击查看活动详情

1、运算符

1.1、算数运算符

算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。下表列出了所有的算术运算符。
实例假设整数变量A的值为5,变量B的值为10:

  • +表示加法运算符 A+B 等于 15
  • -表示减法运算符 B-A 等于 5
  • *表示乘法运算符 A * B 等于 50
  • /表示除法运算符 B/A 等于 2
  • ++自增:操作数加一 A++ ++A A等于 6
  • --自减:操作数减一 A-- --A A等于 4

1.2、自增自减运算符

1、自增(++)自减(--)运算符是一种特殊的算术运算符,在算术运算符中需要两个操作数来进行运算,而自增自减运算符是一个操作数。

2、前缀自增自减法(++a,--a): 先进行自增或者自减运算,再进行表达式运算。

3、后缀自增自减法(a++,a--): 先进行表达式运算,再进行自增或者自减运算

1.3、关系运算符

所有以关系运算符作为最终运算的表达式结果一定是boolean类型
实例假设整数变量A的值为5,变量B的值为10:

  • > 表示是否大于运算符 A>B false
  • >= 表示是否大于等于运算符 A>=b fasle
  • < 表示是否小于运算符 A< B true
  • <= 表示是否小于等于运算符 A<=B true
  • == 表示是否等于运算符 A==B false
  • != 表示是否不等于运算符 A!=B true

1.4、逻辑运算符

逻辑运算符的操作数均为boolean表达式

  • && 表示短路与,当左边为false时,右边的表达式不会进行运算
  • &表与,无论如何会把表达式计算完毕
  • || 表示短路或,当左边为true时,右边的表达式不会进行运算
  • |表或,无论如何会把表达式计算完毕
  • ! 表示逻辑非运算符,相当于"取反",真为假,假为真

1.5、三元运算符

判断条件表达式是否成立,若成立则执行表达式1,否则执行表达式2

条件表达式? 表达式1: 表达式2
public class Test {
   public static void main(String[] args){
      int a , b;
      a = 10;
      // 如果 a 等于 1 成立,则设置 b 为 20,否则为 30
      b = (a == 1) ? 20 : 30;
      System.out.println( "Value of b is : " +  b );
 
      // 如果 a 等于 10 成立,则设置 b 为 20,否则为 30
      b = (a == 10) ? 20 : 30;
      System.out.println( "Value of b is : " + b );
   }
}

1.6、赋值运算符

  • 运算符 运算 范例 结果
  • = 赋值 a=3,b=2 a=3,b=2
  • += 加等于 a=3,b=3;a+=b; a=5,b=2;
  • -= 减等于 a=3,b=2,a-=b; a=1,b=2;
  • = 乘等于 a=3,b=2,a=b; a=6,b=2
  • /= 除等于 a=3,b=2,a/=b; a=1,b=2;
  • %= 模等于 a=3,b=2,a%=b; a=1,b=2

20191014152707654.png

1.7、运算符优先级

当多个运算符出现在一个表达式中,谁先谁后呢?这就涉及到运算符的优先级别的问题。在一个多运算符的表达式中,运算符优先级不同会导致最后得出的结果差别甚大。

  • ()的优先级极高
  • =的优先级极低

例如,(1+3)+(3+2)*2,这个表达式如果按加号最优先计算,答案就是 18,如果按照乘号最优先,答案则是 14。

再如,x = 7 + 3 * 2;这里x得到13,而不是20,因为乘法运算符比加法运算符有较高的优先级,所以先计算3 * 2得到6,然后再加7。