大龄屌丝自学笔记Java零基础到菜鸟008

算术运算符,赋值运算符,比较运算符,逻辑运算符、三元运算符

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 }
原文地址:https://www.cnblogs.com/liverpool/p/4750946.html