基础篇04运算符

运算符

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

算术运算符:+、-、*、/、%(取余,模运算)、++(自增)、–(自减)

赋值运算符:=

关系运算符:>、<、>=、<=、==(就是等于)、!=(不等于)、instanceof

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

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

条件运算符?:

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

二元运算符:

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/(double)b);//a/b计算结果为小数,需要进行类型转换
    }
}
public class Demo02 {
    public static void main(String[] args) {
        long a=1212121213L;
        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(没有long类型时,所有非int类型都会转为int类型)此为自动转换;同理,若数值里有double类型,则输出结果必为double类型
    }
}

关系运算符以及取余:

public class Demo03 {
    public static void main(String[] args) {
        //关系运算符返回的结果:true正确、false错误,即为布尔值boolean

        int a=10;
        int b=20;
        int c=21;

        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a==b);
        System.out.println(a!=b);//==为等于,!=不等于

        System.out.println(c%a);// %取余数即为模运算  c/a=21/10=2.1,余1
    }
}

自增自减,一元运算符:

public class Demo04 {
    public static void main(String[] args) {
        //++、-- 自增、自减(一元运算符)

        int a=3;

        int b=a++;//先给b赋值a,然后a再自增,即a++,先加后使用
        //a++,即为a=a+1
        System.out.println(a);//输出结果为4
        //++a,即为a=a+1
        int c=++a;//执行这行代码前,先给a自增,再给c赋值,即a++先使用后加

        System.out.println(a);//输出结果为5,连续两次++,故a结果为5
        System.out.println(b);//输出结果为3,因先将a赋值给b后,再进行的a++,故b输出的就是3
        System.out.println(c);//输出结果为5,前一次a++,为4,后++a为5,再将5赋值给c

        //幂运算  2^3   很多运算,我们可以使用一些工具类操作
        double d=Math.pow(2,3);//输出结果为8.0
        System.out.println(d);
    }
}

逻辑运算符

//逻辑运算符

public class Demo05 {
    public static void main(String[] args) {
        // 与and、或or、非(取反)
        boolean a=true;
        boolean b=false;

        System.out.println("a&&b:"+(b&&a));//逻辑与运算:两个变量都为真,结果才为true
        System.out.println("a||b:"+(a||b));//逻辑与运算:两个变量有一个为真,结果才为true
        System.out.println("!(a&&b):"+!(a&&b)); //如果为真,则输出结果为假;如果为假,则输出结果为真

        //短路运算
        int c=5;
        boolean d=(c<4)&&(c++<4);
        System.out.println(d);//当运行到c<4时,已经可以判定输出结果为false,则其后的代码不会再继续运行,即c++不会被执行了
        System.out.println(c);//结果还为5
    }
}

位运算:

  // 位运算

public class Demo06 {
    public static void main(String[] args) {
        /*以下为二进制数字
        A = 0011 1100
        B = 0000 1101

        A&B=0000 1100   &与
        A|B=0011 1101   |或
        A^B=0011 0001  ^异或:相同则为0,不同则为1
        ~B =1111 0010  ~取反

        面试真题:2*8如何最快计算
        <<  :左移一位,结果乘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);//结果为16
    }
}

扩展赋值运算符

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

        a+=b;  //a=a+b,输出结果为30
        // a-=b;  //a=a-b

        System.out.println(a);

        //字符串连接符  +  ,“”为String类型,+两侧连解String和其他类型,其输出结果都会转化为String类型进行连解
        System.out.println(a+b);
        System.out.println(""+a+b); //输出结果为3020
        System.out.println(a+b+"");  //输出结果为50,注意“”String类型所在加号的什么位置
    }
}

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

//三元运算符
public class Demo08 {
    public static void main(String[] args) {

        // x ? y : z
        //若x==true,则结果为y,否则结果为z

        int score=90;
        String type =score <60?"不及格":"及格";  //必须掌握!!!!

        System.out.println(type);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值