只有变量还不够,肯定得数学运算才有用。
平时使用中需要注意运算符的优先级问题,使用部好判断的建议使用()小括号括起来。
java中主要有以下八大类的运算符:
一、算术运算符
二元运算符
因为这个运算符需要左右各有一个操作数,所以叫二。
以下的,小学毕业了的都懂。
- + 加
- - 减
- * 乘
- / 除
- % 求余,常用2求余做判断
public class Main {
public static void main(String[] args) {
System.out.println(1+1); //2
System.out.println(1-1); //0
System.out.println(2*2); //4
System.out.println(1/2.0); //0.5
System.out.println(3%2); //1
}
}
两个不同类型的操作数运算后返回类型为范围大的类型.
如:int + long = long
一元运算符
- ++ 加加
- – 减减
public class Main {
public static void main(String[] args) {
int v=5; //操作数在左或右时,会影响操作结果
System.out.println(v++); //5 先赋值,再加1
System.out.println(++v); //7 先加1,在赋值
}
}
二、赋值运算符
- = 等于,这个不用废话了吧,给某个变量赋值。
扩展运算符
- += 加等于
- -= 减等于
- *= 乘等于
- /= 除等于
public class HelloWorld {
public static void main(String []args) {
int i=3;
int k=5;
int u=i+5;
i+=5;// 等同于 i = i + k;
System.out.println(u); //8
System.out.println(i); //8
}
}
三、关系运算符
用于比较运算,只返回布尔值:true/flase。
- > 是否大于
- < 是否小于
- >= 是否大于等于
- <= 是否小于等于
- == 是否等于
- != 是否不等于
四、逻辑运算符
逻辑运算的操作数和运算结果都是boolean值。
- & 与
- | 或
- && 短路与
- || 短路或
- ! 非
- ^ 异或
一般使用中,常使用短路与/或;前面的操作数为false时后面的就不做运算了,可以提高效率。
public class HelloWorld {
public static void main(String []args) {
System.out.println(true^false); //true
System.out.println(true^true); //false
System.out.println(false^false); //false
int i = 0;
System.out.println(false && (i++)==0);
System.out.println(i);
System.out.println(false & (i++)==0);
System.out.println(i);
}
}
五、位运算符
位运算指的是进行二进制位的运算。
- &
- |
- ^
- ~
- >> 右移,移1位相当于/2
- << 左移,移1位相当于*2
- >>>
public class HelloWorld {
public static void main(String []args) {
System.out.println(3<<2); //12 相当于3*4
System.out.println(12>>1); //6 相当于12/2
}
}
六、条件运算符
- ? : 三元运算符(三目运算符),如果问号前面的条件成立,返回冒号左侧值,不成立返回右侧值。一般用来替代简单的if else操作。
public class HelloWorld {
public static void main(String []args) {
System.out.println(true?1:0); //1
System.out.println(false?1:0); //0
}
}
七、字符串连接符
- + 只有左右有一个值是字符串则返回字符串。
public class HelloWorld {
public static void main(String []args) {
System.out.println(4+5); //9
System.out.println(4+"5"); //"45"
}
}