运算符与逻辑

文章介绍了Java中的各种运算符,包括算数运算符如加减乘除、赋值运算符、关系运算符、逻辑运算符(&&,||,!)以及条件运算符、位运算(如位与、位或、异或等)、自增自减操作。通过实例演示了这些运算符在实际代码中的使用和优先级规则。
摘要由CSDN通过智能技术生成

运算符与逻辑

算数运算符:

+,-,*,/,%(模:取余),++,–

public class Demo01 {
    public static void main(String[] args) {
        //二元运算符
        int a=10;
        int b=20;
        int c=25;
        int d=25;
        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/(double)b);//注意作用范围,有小数,否者输出为0
    }

}

public class Demo02 {
    public static void main(String[] args) {
        long a=123123123L;
        int b=123;
        short c=10;
        byte d=8;
        double e=10.5;
        System.out.println(a+b+c+d);//有long就为long类型,否者为int
        System.out.println(b+c+d);//int
        System.out.println(c+d);//int
        System.out.println(c+d+e);//double
    }
}

赋值运算符

=

关系运算符

<,<=,==,! =instanceof

public class Demo03 {
    public static void main(String[] args) {
        //关系运算符返回的结果:正确  错误    布尔值
        //if
        int a=10;
        int b=20;
        int c=21;
        System.out.println(c%a);//c/a.....取余
        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a==b);
        System.out.println(a>=b);
    }
}

逻辑运算符

&&,|,~,>>,<<,>>>,^(math.pow)

public class Demo05 {
    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));
        System.out.println(d);
        System.out.println(c);
    }
}

条件运算符

x?y:z 条件?表达式1:表达式2

public class Demo08 {
    public static void main(String[] args) {
        //x?y:z
        //如果x==true,则结果为y,否则结果为z
        int score=50;
        String type=score<60?"不及格":"及格";
        System.out.println(type);
    }
}

拓展赋值运算符

+=,-=,*=,/=

public class Demo07 {
    public static void main(String[] args) {
        int a=10;
        int b=20;
        a+=b;//a=a+b
        a-=b;//a=a-b
        //字符串连接符   +
        System.out.println(""+a+b);//字符串在前面,+为链接
        System.out.println(a+b+"");//字符串在后面,正常输出

    }
}

优先级

请添加图片描述

位运算

无符号右移,符号不参与移位。

public class Demo06 {
    public static void main(String[] args) {
        /*
        *A=0011 1100
        * B=0000 1101
        *
        *A&B  0000 1100(对应位都为1才为1)
        * A|B 0011 1101(有一个1就1)
        * A^B 0011 0001(相同为0不相同为1)(异或)
        * ~B  1111 0010(取反)
        *
        * <<左移 *2(二进制)
        * >>右移 /2
        * */
    }
}

自增、自减

public class Demo04 {
    public static void main(String[] args) {
        //++,--(一元运算符)
        int a=4;
        int b=a++;//a++    a=a+1 先给b赋值,再自增给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
        double pow = Math.pow(2, 3);


    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值