算术运算符
eg:+(加),-(减),*(乘),/(除),%(取模或取余)
public class suanshuyunsuan {
public static void main(String[] args) {
int a =5,b=8;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/b);
System.out.println(a%b);
}
}
自加自减
i++ :先用原有的值进行运算再进行加一操作
++i :先进行加一操作,再进行运算
口诀(加在前先进行加一运算,i在前先进行运算再加一)
同理可得自减
public class zijiazijian {
public static void main(String[] args) {
int i =10, j=15;
//System.out.println(i+++++j);编译报错
System.out.println(i++ + ++j);//10+16=26
System.out.println(i+ + + + +j);//第一个+为运算符+,其余+为正号;
//System.out.println(10++ + ++15);编译报错,只有变量才能实现自加和自减
System.out.println(i + " " + j);
}
}
逻辑运算符
与:&&(两个同时为真结果为真,否则为假)
或:||(两个有一个为真则为真)
非:!(真变假,假变真)
public class luojiyunsuan {
public static void main(String[] args) {
int a=7,b=0,c=3;
System.out.println(a/c==1 && a/b==5);//false
System.out.println(a/c==1 & a/b==5);//运行出错0不能做除数
// && 代表短路与,短路与的特点是,如果前面的表达式能确定整个表达式的值
// 则后面的表达式不做运算,直接得出运算结果。
// 本例中,第一个表达式为假,即使后面的表达式为真也改变不了整个运算结果,所以结果为假
// & 代表普通与,特定是,即使前面的表达式能确定整个表达式的值,
// 但是普通与“很执着”,还要继续去运算后面的表达式的值,
// 本例中后面的表达式在运算过程中出错了,所以程序会终止
System.out.println(a/c==2 || a/b==5);//true
System.out.println(a/c==2 | a/b==5);//运行出错0不能做除数
// || 代表短路或,短路或的特点是,如果前面的表达式能确定整个表达式的值
// 则后面的表达式不做运算,直接得出运算结果。
// 本例中,第一个表达式为真,即使后面的表达式为假也改变不了整个运算结果,所以结果为真
// | 代表普通或,特定是,即使前面的表达式能确定整个表达式的值,
// 但是普通或“很执着”,还要继续去运算后面的表达式的值,
// 本例中后面的表达式在运算过程中出错了,所以程序会终止
位运算
一个&符号左右两边如果都是逻辑值,则按照普通与的操作执行
一个&符号左右两边如果都是int值,则需要将两个int的十进制转换为二进制,再将两个数按照按位与的操作运算
&&左右两边如果是逻辑值,则按照短路与的操作执行
&&左右两边如果都是int值,则编译报错
public class weiyunsuan {
public static void main(String[] args) {
int i=4;//100
int j=6;//110
System.out.println(j&i);//4
System.out.println (j|i);//6
}
}
移位运算
<< >> >>>
赋值运算
把等号右边的值赋给等号左边;
三目运算
逻辑表达式?表达式1:表达式2;
public class sanmuyunsuan {
public static void main(String[] args) {
int mark = 67;
String result =(mark>=90?"A":mark>=80?"B":"C");
System.out.println(result);
}
}