运算符

运算符

算数运算符
package day2;
/*
* 算数运算符
* +  正数   加法  字符串连接
* -  负数   减法
*  *乘法
*   /除法
*   % 取余
*   ++自加
*   --自减
*  */
public class OperDemo {
    public static void main(String[] args) {
        // +
        int a=5;
        int  b=10;
        char c='a';
        String d="20";
        System.out.println(a+b);//数值+数值
        System.out.println(c+b);//字符+数值=数值
        System.out.println(b+d);//+字符串连接  数值+字符串=字符串
        // - 负数 减法 数值与数值(char)
        int s=-9;
        System.out.println(a+s);
        //  * /  % 数值与数值(char)
        System.out.println(b%a);//取余数  判断俩个数是否整除
        //  ++ --
       /* int x=7;
        x++;//x=x+1 8
        ++x;//x=x+1 9
        --x;//x=x-1 8
        x--;//x=x-1 7
        System.out.println(x);*/
        int x=5;
        int y=x++ + 1;//注意:++在混合运算中 ++在先运算后自增
        System.out.println(x);
        System.out.println(y);
        int i1=10;
        int i=i1--;
        System.out.println("i="+i);
        System.out.println("i1="+i1);
        System.out.println(a++);
        System.out.println(a);
        System.out.println(x++);
    }
}

比较运算符
package day2;
/*
     比较运算符

     ==, !=, 基本类型数值之间的比较,引用类型与引用类型比较
     >, <, >=, <= 数值与数值(char)
*/
public class OperDemo2 {
    public static void main(String[] args) {
        int a=5;
        int b=10;
        System.out.println(a==b);//基本类型数值之间的比较
        System.out.println(a!=b);
        String s="sww";
        String s1="sss";
        System.out.println(s==s1);//引用类型与引用类型比较
        System.out.println(a>b);
        System.out.println(a<b);
    }
}



逻辑运算符
package day2;
/*
  逻辑运算符
     &—逻辑与         | —逻辑或         ^ —逻辑异或
         & | ^左右操作数为逻辑值(true/false)  否则是位运算

     && —短路与      || —短路或         !—逻辑非


 */
public class OperDemo3 {
    public static void main(String[] args) {
    int a=6,b=5,c=12;
       /* System.out.println(a>b & b>c);//true & flase=flase
        System.out.println(a<b & b>c);//flase & flase=flase
        System.out.println(a>b & b<c);//true & true=true
        System.out.println(a<b & b<c);//flase & true=flase
        System.out.println(a>b && b>c);//true & flase=flase
        System.out.println(a<b && b>c);//flase & flase=flase
        System.out.println(a>b && b<c);//true & true=flase
        System.out.println(a<b && b<c);//flase & true=flase
        */
        System.out.println(a>b & b>c);//true & flase=flase
        System.out.println(a>b & b<c);//true & true=true
        System.out.println(a<b && b++>c);//true &&  flase=flase
        System.out.println(b);
        System.out.println(a>b && b++<c);//flase && true=flase
        System.out.println(b);
        // |  遇到第一个true后,后面的表达式还会执行
        // || 遇到第一个true后,就会短路后面的表达式不会执行
    }
}

赋值运算,条件运算符
早期面试题
        short s = 3;
               s=s+2;                 //1
               s += 2; //隐式转换  s=s+2    //2
          System.out.println(s);
package day2;
/*
   赋值运算
    =
      注意 = 两边类型与值相匹配
             int a = 10;
             基本数据类型转换:默认转换,强制类型转换
             long b = a;
             byte c = (byte)b;

    += -= *= /= %
 */
public class OperDemo4 {
    public static void main(String[] args) {
        //条件运算符
        int a = 10;
        int b = 5;

        int c  = (a>b)?a:b; //需要返回一个结果

        System.out.println(c);

    }
}

位运算符
package day2;
/*
  位运算
    是二进制位(bit位) 上的运算, 执行效率高
    <<  左移 左移1位相当于*2
    >>  右移
    >>> 无符号右移  不需要关心高位上的符号 (如果影响到了符号位,只需要在符号位补0)
    &
    |
    ^
    ~
 */
public class OperDemo5 {
    public static void main(String[] args) {
        int a = 2;
        System.out.println(a<<2);
        System.out.println(Math.pow(2,3));

        int b = 8;
        System.out.println(b>>1);

        /*
          0011
          0100   都为1结果为1
          0000
         */
        System.out.println(3&4);

        /*
          0011
          0100
          0111   ==7
         */
        System.out.println(3|4);

         /*
          0011
          0100
          0111 =7
         */
        System.out.println(3^4);

        //逻辑非  取反
        System.out.println(~3);

    }
}

表达式的运算顺序

在这里插入图片描述

     0100
      0111 =7
     */
    System.out.println(3^4);

    //逻辑非  取反
    System.out.println(~3);

}

}


### 表达式的运算顺序


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值