首页 > 其他分享 >运算符

运算符

时间:2023-01-03 13:11:19浏览次数:38  
标签:System 运算符 && println 左向右 out

基本运算符

  • 算术运算符:+,-,*,/,%,++,--
  • 赋值运算符:=
  • 关系运算符:>,<,>=,<=,==,!=,instanceof
  • 逻辑运算符:&&,||,!
  • 位运算符:&,|,^,~,>>,<<,>>>
  • 条件运算符:?
  • 扩展赋值运算符:+=,-=,*=,/=

各运算符优先级:

运算符 结合性
[ ] . ( ) (方法调用) 从左向右
! ~ ++ -- +(一元运算) -(一元运算) 从右向左
* / % 从左向右
+ - 从左向右
> >>> 从左向右
< >= instanceof 从左向右
== != 从左向右
& 从左向右
^ 从左向右
| 从左向右
&& 从左向右
|| 从左向右
?: 从右向左
= 从右向左

自增自减

n = i++;   //表示先将i的值赋值给n,然后i再加1。等价于 n = i; i = i + 1;
n = ++i;   //表示先将i加1,然后再将加1后的i赋值给n。等价于 i = i + 1; n = i;
//自减同理

与(&&)或(||)非(!)

public class Demo1 {
    public static void main(String[] args) {
        //与(and)   或(or)   非(取反)
        boolean a = true;
        boolean b = false;

        System.out.println("a && b:" + (a&&b));     //逻辑与运算:变量都为真,结果才为真
        System.out.println("a || b:" + (a||b));     //逻辑或运算:变量只要有一个为真,则结果为真
        System.out.println("!(a && b):" + !(a&&b)); //逻辑非运算:结果为真,则变为假;结果为假,则变为真

        //短路运算
        int c = 5;
        boolean d = (c < 4) && (c++ < 4);  //c < 4 为false,后面就不执行了。
        System.out.println(d);
        System.out.println(c);
    }
}

位运算

/*
与(&):有0则为0,全部为1才是1
或(|):有1则为1,全部为0才是0
异或(^):相同为0,不同为1
非(~):1变为0,0变为1
左移(<<):*2
右移(>>):/2
----------------------------
A = 0101 0011
B = 0100 1010
----------------------------
A&B = 0100 0010
A|B = 0101 1011
A^B = 0001 1001
~B  = 1011 0101
*/

其他

a += b;   //a = a + b
a -= b;   //a = a - b

//字符串连接符  +  ,String       第一个字符串后面的全部自动转化为字符串进行拼接,之前的仍按原运算符计算。
int n = 10;
int m = 20;
System.out.println("hello" + n + m);    //hello1020
System.out.println(n + m + "hello");    //30hello


//三元运算符
/*
 x ? y : z
 如果 x == true,则结果为 y,否则结果为 z
*/
int score = 99;
String type = score < 60 ? "不及格" : "及格";
System.out.println(type);   //结果为 及格    若将score=99改为score=59,则结果为 不及格。

标签:System,运算符,&&,println,左向右,out
From: https://www.cnblogs.com/ibuprofen/p/17021781.html

相关文章