008Java学习--基本运算符

运算符

Java支持如下运算符:优先级()

  • 算术运算符:+,-,*,/,%,++,–

  • 赋值运算符:=

  • 关系运算符:>,<,>=,<=,==,!=,instanceof

  • 逻辑运算符:&&(与),||(或),!(非)

  • 位运算符:&,|,^,~,>>,<<,>>>(了解!!!)

  • 条件运算符 ?:

  • 扩展赋值运算符:+=,-=,*=,/=

package operator;

public class Demo01 {
    public static void main(String[] args) {
        //  二元运算符
        //Ctrl+D  复制当前行到下一行(不用选中)
        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/b);
        System.out.println(a/(double)b);
    }
}

运算结果:

-30
-10
200
0
0.5
package operator;

public class Demo03 {
    public static void main(String[] args) {
        //  关系运算符返回的结果:正确,错误(布尔值)
        //  通常与if一起

        int a = 10;
        int b = 20;

        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a==b);
        System.out.println(a!=b);
    }
}

运算结果:

false
true
false
true

区分a++和++a

package operator;

public class Demo04 {
    public static void main(String[] args) {
        //  ++,--   自增,自减,一元运算符
        int a = 3;
        int b = a++;  
        //  a++  a = a + 1
        int c = ++a;  //  ++a   a = a + 1

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
    }
}

输出结果:

5
3
5

短路运算

package operator;

public class Demo05 {
    public static void main(String[] args) {
        int a = 5;
        boolean b = (a<4) && (a++<4);

        System.out.println(a);
        System.out.println(b);
    }
}

运算结果:

5  //证明a++没有执行,在判断了a<4为flase时便停止了运算,即短路运算
false

位运算

A = 0011 1100

B = 0000 1101


A&B = 0000 1100

A|B = 0011 1101

A^B = 0011 0001(异或:同为0,异为1)

~B = 1111 0010


0000 00000
0000 00011
0000 00102
0000 00113
0000 01004
0000 10008
0001 000016

位运算效率极高

*<< 2 左移

>> /2 右移

字符串连接符

package operator;

public class Demo06 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;

        a +=b;
        a-=b;

        System.out.println(a);
        //  字符串连接符    +    遇见String类型后面都转换成字符串连接
        System.out.println(""+a+b);
        System.out.println(a+b+"");  //  + 有先后顺序
        System.out.println(a+a+""+b);//  未遇到String前不发生转换
    }
}

运行结果:

10
1020
30
2020

条件运算符(三元运算符)

package operator;

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

运算结果:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值