Java运算符

运算符

  • Java语言支持如下运算符:
    • 算术运算符:+,-,*,/,%,++,- -
    • 赋值运算 =
    • 关系运算符:>,<,>=,<=,==,!=,instanceof
    • 逻辑运算符:&,|,^,~,>>,<<,>>>(了解!!!)
    • 条件运算符:? :
    • 扩展赋值运算符:+=,-=,*=,/=
  • 优先级
    在这里插入图片描述
    public static void main(String[] args) {
        //二次元运算
        //Ctrl+D:复制当前行到下一行
        int a = 10;
        int b = 20;
        int c = 30;
        int d = 40;

        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/(double)b);
    }

    public static void main(String[] args) {
        long a = 123123123123123L;
        int b = 123;
        short c = 10;
        byte d = 8;
        //如果操作数中有long型的值,结果就为long型,如果没有long型的值,结果都为int型
        System.out.println(a+b+c+d); //long
        System.out.println(b+c+d); //int
        System.out.println(c+d);  //int

    }
 public static void main(String[] args) {
        //关系运算符返回的结果:正确、错误。通过布尔值来表示
        int A = 10;
        int B = 20;
        int C = 31;
        //%:取余,模运算
        System.out.println(C%A);// C / A  31/10=3……1

        System.out.println(A>B);
        System.out.println(A<B);
        System.out.println(A==B);
        System.out.println(A!=B);
    }
public static void main(String[] args) {
        //++:自增  --:自减
        int a = 3;
        int b = a++; //a++:a=a+1;执行完这行代码后,先给b赋值,再自增

        System.out.println(a);

        int c = ++a;  //a++:a=a+1;执行完这行代码前先自增再赋值
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);

        //幂运算 2^3次方 2*2*2 = 8 可以用Math.pow(2,3)实现
        //很多运算,我们会使用一些工具类来操作
        double pow = Math.pow(2,3);
        System.out.println(pow);
    }
//逻辑运算符
public class Demo2 {
    public static void main(String[] args) {
    //与(and)  或(or)  非(取反)
        boolean a = true;
        boolean b = false;

        System.out.println("a && b:"+(a&&b)); //逻辑与运算:两个变量都为真,结果才为true;有一个为假,结果就为false。
        System.out.println("a || b:"+(a||b)); //逻辑或运算:两个变量有一个为真,结果就为true;两个都为假结果才为false。
        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);

    }
}

//位运算效率及高
    public static void main(String[] args) {
        /*
        A = 0011 1100   二进制
        B = 0100 1101
        --------------------------------------------------------
        A&B:0000 1100  如果对应位都是1,结果为1;如果有一个0,结果为0;
        A/B:0111 1101  如果对应位都是0,结果为0;如果有一个1,结果为1;
        A^B:0111 0011  如果对应位置的数相同,结果为0;不同则为1
        ~B:1011 0010   取反

        <<:左移相当于*2
        >>:右移相当于/2
        例如:
        2*8怎么运算最快
         */
        System.out.println(2<<3); //2*2*2 输出结果:16
    }
//条件运算符(三元运算符)
    public static void main(String[] args) {
        //x ? y : z
        //如果 x==true,则结果为y,否则结果为z

        int score = 80;
        String type = score<60 ? "不及格":"及格";
        System.out.println(type); //输出结果:及格
    }
//扩展运算符
    public static void main(String[] args) {
        int a = 30;
        int b = 20;

        a+=b; //a = a+b
        a-=b; //a = a-b
        System.out.println(a);
        
        //字符串连接符 +,在加好运算符两侧只要在加好前有一方出现了String类型,它就会把另外一个操作数或者其他操作数都转换成String类型的并进行连接
        System.out.println(a+b); //输出结果:50
        System.out.println(""+a+b); //输出结果:3020
        System.out.println(a+b+""); //输出结果:50
    }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值