算术运算符,赋值运算符,比较运算符,逻辑运算符、三元运算符
1、算数运算符:“+” , “-” , “*” , “/” , “%” , “++” , “--” 。
“+” , “-” , “*” , “/” :加,减,乘,除。
“%” :余数,如:5%2=1。
“++” :变量自增;单独使用时,在变量的前、后作用相同;参与运算时,前 “++” 先运算后赋值,后 “++” 先赋值后运算。
“--” :变量自减;单独使用时,在变量的前、后作用相同;参与运算时,前 “--” 先运算后赋值,后 “--” 先赋值后运算。
1 class Fin{ 2 public static void main(String[] args){ 3 int a=10; 4 int b=10; 5 int c=10; 6 7 a=b++; //a=10,b=11,c=10 8 c=--a; //a=9,b=11,c=9 9 b=++a; //a=10,b=10,c=9 10 a=c--; //a=9,b=10,c=8 11 12 //输出a、b、c:a=9,b=10,c=8 13 } 14 }
运算符的优先级(从高到低):可以使用 “()” 改变程序的运算顺序。
1 class Fin{ 2 public static void main(String[] args){ 3 int m=4; 4 5 int n=(m++)+(++m)+(m*10); //n=4+6+60=70 6 7 //输出m、n:m=6,n=70 8 } 9 }
2、赋值运算符:“=” , “+=”, “-=” , “*=” , “/=” , “%=” 。
“+=”, “-=” , “*=” , “/=” , “%=” 隐含了数据类型的强制转换,如:【short s=1;】,【s=s+1;】报错,【s+=1;】不报错。
1 class Fin{ 2 public static void main(String[] args){ 3 int n=1; 4 5 n+=2; //n=(n的数据类型)(n+2)=1+2=3 6 7 //输出n:n=3,其他 “-=” ,“*=” ,“/=” ,“%=” 以此类推 8 } 9 }
一行代码实现a、b值互换:b=(a+b)-(a=b);
3、比较运算符:“==” , “!=” , “>” , “<” , “>=” , “<=” 。
依次为:等于,不等于,大于,小于,大于等于,小于等于,输出布尔类型(true,false),如:System.out.println(1==1),输出 true 。
4、逻辑运算符:“&” , “&&” , “|” , “||” , “!” , “^” 。
“&” 与 “&&” 的区别:“&” 左右两侧都会运算; “&&” 左侧为true右侧运算,左侧为false右侧不再运算。
“|” 与 “||” 的区别:“&” 左右两侧都会运算; “||” 左侧为false右侧运算,左侧为true右侧不再运算。
“|” 与 “^” 的区别:当左右两侧都为true时, “|” 为true, “^” 为 false ( “^” 比较【左右两侧的结果】是否相同,所以当左右两侧都为false时, “^” 为false)。
5、三元运算符:“(逻辑关系表达式)?结果为true的表达式:结果为false的表达式” 。
1 class Fin{ 2 public static void main(String[] args){ 3 int a=(1>2)?3:4; 4 int b=(1<2)?3:4; 5 6 //输出a、b:a=4,b=3 7 } 8 }