【JavaSE】04-基本运算符

①.运算符列表

  • Java支持以下运算符
类型符号
算数运算符+   -   *   /   %   ++   - -
赋值运算符=
关系运算符>   <   >=   <=   ==   !=   intstanceof
逻辑运算符&&   ||   !
位运算符&   |   ^   ~   >>   <<   >>>
条件运算符?:
扩展运算符+=   -=   *=   /=

数据类型提升

规则
1.byte,short,char在参与运算时,会自动提升为int类型,他们三个之间不存在提升。
2.如果还有long,float,double,相应的提升为long,float,double.
3.若long,float同时有,提升为float
4.若long,float,double同时存在,则提为double

//数据类型提升
        long l1 = 1234567890L;
        int i1 = 123;
        short s1  = 10;
        byte b1 = 9;

        System.out.println(l1 + i1 + s1 + b1);   //输出long类型
        System.out.println(i1 + s1 + b1);        //输出int类型
        System.out.println(i1 + b1);             //输出int类型

②.自增自减运算符——++ - -

  • b = a++; 先执行赋值操作,再执行自增操作
  • b = ++a; 先执行自增操作,再执行赋值操作
//一元运算符
        int one = 3;
        int one1 = one++;  //先将one赋值给one1再进行one的自增运算
        int one2 = ++one;  //先进行one的自增运算再将one赋值给one2

        System.out.println(one);   //输出:5
        System.out.println(one1);  //输出:3
        System.out.println(one2);  //输出:5

③.关系运算符——> < >= <= == !=

关系运算符的返回值为 布尔值boolean 只有 true 和 false 两种结果

④.逻辑运算符 && || !

执行与(and)或(or)非(取反)操作,结果是true或者false。

//逻辑运算符
        boolean bool1 = true;
        boolean bool2 = false;
        System.out.println("bool1 && bool2  " + (bool1&&bool2));    //输出false,两个全真才真
        System.out.println("bool1 || bool2  " + (bool1 || bool2));  //输出true,两个全假才假
        System.out.println("!bool1  " + !bool1);  //输出false,直接取反
//短路运算
        int c = 5;
        boolean d = (c<4)&&(c++<10);    //若没有发生短路,则该条语句结束后,c的值将变为6
        System.out.println(c);          //可以证明已经发生短路现象
        System.out.println(d);          //d在第一个表达式为false之后已经直接false

⑤.位运算符 & | ! >> <<

//位运算符
        /*
        *   逻辑与、逻辑或、逻辑非、逻辑异或
        *   A = 0011 1100
        *   B = 0000 1101
        * A&B = 0000 1100
        * A|B = 0011 1101
        * A^B = 0011 0001  //异或,不同则1,相同则0
        *  ~B = 1111 0010
        *
        *   移位运算符>>  <<
        *   <<相当于*2
        *   >>相当于/2
        * */

⑥.条件、扩展赋值运算符 += -= *= /=

//扩展赋值运算符
        int aa = 10;
        int bb = 20;
        aa += bb;
        System.out.println(aa);   //输出30,上式等于aa = aa + bb

⑦.字符串连接符 +

//字符串连接符  + 
		int aa = 10;
        int bb = 20;
        System.out.println("" + aa + bb);   //输出1020,当输出的内容遇到String类型时+变为连接符
        System.out.println(aa + bb + "");   //输出30,先运算aa + bb在连接字符串

⑧.条件(三元)运算符 ? :

//三元运算符 x?Y:Z  若x为true则结果为Y,否则结果为Z
        int score = 90;
        String result = score < 60?"不及格":"及格";
        System.out.println(result);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值