Java基础:基本运算符


分类

  • Java语言支持如下运算符:
    • 算数运算符:+,-,*,/,%,++,–
    • 赋值运算符:=
    • 关系运算符:>,<,>=,<=,==,!=,instanceof
    • 逻辑运算符:&&,||,!
    • 位运算符:&,|,^,~,>>,<<,>>>(了解即可)
    • 条件运算符:?:
    • 扩展赋值运算符:+=,-=,*=,/=

二元运算符

  • 二元运算符的运算

    public class Demo1 {
        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);
        }
    }
    

在这里插入图片描述

  • 运算中,不同类型的数据先转化为同一类型,然后进行计算(向表示范围大的类型转化,相同类型不变)

    public class Demo2 {
        public static void main(String[] args) {
            long a=123434533545334L;
            int b=123;
            short c=10;
            byte d=8;
            System.out.println(a+b+c+d); //long
            System.out.println(b+c+d); //int
            System.out.println(c+d); //int
        }
    }
    

在这里插入图片描述

关系运算符

public class Demo3 {
    public static void main(String[] args) {
        //关系运算符返回的结果:布尔值(true/false)
        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);
    }
}

在这里插入图片描述

取余运算符

public class Demo3 {
    public static void main(String[] args) {
        //取余/模运算
        int a=10;
        int b=20;
        int c=22;
        System.out.println(c%a);//c/a=22/10=2...2
    }
}

在这里插入图片描述

自增与自减

public class Demo4 {
    public static void main(String[] args) {
        //自增与自减(一元运算符)
        int a=3;
        int b=a++; //执行完这行代码后,先将a的值赋给b,a再自增
        //a++,a=a+1
        System.out.println(a);
        //++a,a=a+1
        int c=++a; //执行完这行代码后,a先自增,再将a的值赋给b
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
    }
}

在这里插入图片描述

幂运算

//幂运算 2^3  2^2^2=8
double pow=Math.pow(2,3); //Math.pow()属于工具类
System.out.println(pow);

在这里插入图片描述

逻辑运算符

package operator;
//逻辑运算符
public class Demo5 {
    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);
    }
}

在这里插入图片描述

位运算符

package operator;

public class Demo6 {
    public static void main(String[] args) {
        /*
        A=  0011 1100
        B=  0000 1101

        A&B=0000 1100 //与运算
        A/B=0011 1101 //或运算
        A^B=0011 0001 //异或运算
        ~B =1111 0010 //非运算
         */

        /*
        例题:2*8怎么运算最快?
             2*8=2*2*2*2=16
             <<(左移) 等价于*2
             >>(右移) 等价于/2
        计算机中的二进制表示:
        0000 0000    0
        0000 0001    1
        0000 0010    2
        0000 0011    3
        0000 0100    4
        0000 1000    8
        0001 0000    16
        位计算效率极高
         */
        System.out.println(2<<3);
    }
}

在这里插入图片描述

扩展赋值运算符

package operator;

public class Demo7 {
    public static void main(String[] args) {
        int a=10;
        int b=20;
        a+=b; //a=a+b
        System.out.println(a);
    }
}

在这里插入图片描述

字符串连接符

//字符串连接符 +
a=10;
b=20;
System.out.println(a+b);
System.out.println(""+a+b); //在+两侧,只要出现String,就会进行连接操作

//""+a+b 与 a+b+"" 的区别
System.out.println(""+a+b);
System.out.println(a+b+""); //若字符串在前,则会进行拼接;若字符串在后,则会先进行运算

在这里插入图片描述

三元运算符

package operator;
//三元运算符
public class Demo8 {
    public static void main(String[] args) {
        //x?y:z
        //如果x==true,这结果为y,否则结果为z
        int score=80;
        String type=score<60?"不及格":"及格";
        System.out.println(type);
    }
}

在这里插入图片描述

运算符优先级

! > 算术运算符 > 关系运算符 > && > || > 赋值运算符


重要声明:本篇文章整理自B站狂神说Java

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值