Java表达式

表达式是由运算符和操作数(运算子)组成的。

  1. int sum=num1+num2;//这就是一个表达式
  2. //+加号和=等号是运算符,num1和num2和sum是操作数

Java运算符

算数运算符

一元运算符

  1. “-“,取负运算;
  2. “++”,自加一,

a++,先取值在加一,也叫后增量
++a,先自加再取值,也叫前增量

  1. “—“,自减一,

a—,先取值在自减
—a,先自减再取值

二元运算符

  1. +,求和运算;
  2. -,相减运算;
  3. *,相乘运算;
  4. /,相除运算,求两个数之商;
  5. %,取余;

赋值运算符

  1. =,变量或常量指定数值的符号;
  2. +=,a+=2—->a=a+2;
  3. -=,a-=2—->a=a-2;
  4. =,a=2—->a=a*2;
  5. /=,a/=2—->a=a/2;
  6. %=,a%=2—->a=a%2;

关系运算符

image.png
在Java中,==只能用来判断基本数据类型是否相同,如果用来比较引用数据类型,比较的是两个引用数据类型在内存中地址是否相同。
对于字符串,需要用到equals()。

逻辑运算符

  1. 短路与,&&,当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false;
  2. 短路或,||,当运算符有一边为true时,整个运算结果为true;
  3. 逻辑非,!,相当于取反;
  4. 逻辑与,&,当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false;
  5. 逻辑或,|,当运算符有一边为true时,整个运算结果为true;

短路与&&和逻辑与&的区别:
&&是当第一个条件不成立,后面的条件均不进行判断,返回false,
&是无论第一个判断条件是否成立,逻辑运算符前后两个条件都会进行判断;
短路或||和逻辑或|的区别:
||是当第一个条件成立,后面的条件均不进行判断,返回true,
|是无论第一个判断条件是否成立,逻辑运算符前后两个条件都会进行判断;

条件运算符

Java中的条件运算符指的是三目运算符。

  1. int age = 16;
  2. String ageStr = age > 18 ? "成年" : "未成年";
  3. System.out.println(ageStr); // 未成年

位运算符

运算速度最快的就是位运算符。
优先级比较
Java表达式和运算符 - 图2