Java运算符

Java运算符分类

1、算数运算符:加减乘除,前++,后++,取模,连接运算
2、关系运算符:<,>,>=,<=,==,instanceof
3、逻辑运算符:与或非异或
4、位运算符:<<,>>,>>>,&,|,^,~
5、三目运算符:(条件判断)?表达式1:表达式2
6、赋值运算符:=,+=,-=,*=,/=,%=

算数运算符

1、后++ 先运算后赋值
2、前++ 先赋值后运算
3、前++ 后++运算不改变原来的数据类型
4、byte,char,short +1 会自动提升为int
5、取模运算符的符号取决于被模数的符号
6、运算结果是浮点数若强转为整数类型直接取整

赋值运算符

1、赋值运算不改变原来的数据类型

byte i=10; i+=1; 

逻辑运算符

1、&,&&当两个变量的值是true时,结果才是true
2、|,||当两个变量其中的一个值是true,结果就是true
3、条件异或^异或当两个变量结果一个是true,一个是false,结果才是true
4、条件非!true变false,false变true
5、&,&&之间的区别:
&当第一个值为false时依旧会判断第二个值,&&当第一个值是false时不会判断第二个值

int num1 = 12, num2 = 18, temp = 9;
        if (num1 > num2 & temp++ > 10) { // false,false
        } else {
            System.out.println(temp);
        }
int num1 = 12, num2 = 18, temp = 9;
        if (num1 > num2 && temp++ > 10) { // false,false
        } else {
            System.out.println(temp);
        }

6、|,||的区别:
|当第一个值为true时依旧会判断第二个值,||当第一个值是true时便不会判断第二个值,但他们运算结果都是一样的

位运算符

1、<< X即*2^x
2、>> X即/2^x
3、按位与&:当两个变量的二进制所在位数的值都为1时才为1
4、位或| :当两个变量的二进制所在位数的值其中一个为1就是1
5、按位异或^: 当两个变量的二进制所在位数的值相反时才为1
6、按位非~ :变量的二进制都取反

运算符的优先级

  • 括号>正负号(+,-)>单目(++,--,!)>new >算数、关系、逻辑、三目、赋值

你可能感兴趣的:(Java运算符)