008-基本运算符

基本运算符

算数运算符:+、-、、/、%(取余)、++(自增)、––(自减)
赋值运算符:=
关系运算符:<、>、>=、<=、==(等于)、!=(不等于)、instanceof
逻辑运算符:&&(与)、||(或)、!(非)
位运算符:&、|、^、~、<<、>>、>>>(了解)
条件运算符:?:
扩展赋值运算符:+=、-=、
=、/=

  1. 算术运算符
package operation;

public class demo01 {
    public static void main(String[] args) {
        //二元运算符
        //ctrl+D 复制当前行到下一行
        int a = 10;
        int b = 20;
        int c = 32;
        int d = 25;
        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/(double)b);//强制转换为浮点数,避免结果取整
    }
}

拓展:不同类型相加

package operation;

public class demo02 {
    public static void main(String[] args) {
        long a= 123441241L;
        int b =123;
        short c= 10;
        byte d =8;

        System.out.println(a+b+c+d);//输出为Long类型,其中有一个为long,结果为long
        System.out.println(b+c+d);//输出为Int类型,如果没有long,结果都为int
        System.out.println(c+d);//输出为Int类型   cast转换
        //如果有一个类型是double,则结果为double
    }
}

  1. 关系运算符
package operation;

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  21/10 =2...1 输出结果为1
        System.out.println(a>b);//false
        System.out.println(a<b);//ture
        System.out.println(a==b);//false
        System.out.println(a!=b);//ture
    }
}

  1. 自增、自减 运算符
package operation;

public class demo04 {
    public static void main(String[] args) {
        //++   --   自增,自减   一元运算符
        int a = 3;
        int b = a++;//执行完这行代码后,先给b赋值,再自增
        //a++ 等于a=a+1 
        int c = ++a;//执行完这行代码前,先自增,再给c赋值
        //++a 等于a=a+1 
        System.out.println(a);//5
        System.out.println(b);//3
        System.out.println(c);//5
        
        //幂运算 2^3  2*2*2=8  很多运算,我们使用一些工具类来操作!
        //Math类数学运算
        double pow = Math.pow(2, 3);//输入Math.pow(2,3);按alt+回车返回值
        System.out.println(pow);//输出8

    }
}

  1. 逻辑运算符:与、或、非
package operation;
//逻辑运算符
public class demo05 {
    public static void main(String[] args) {
        //与(and) 或(or)  非(取反)
        boolean a = true;
        boolean b = false;
        System.out.println("a && b:"+(a&&b));//与运算:两个变量都为真,结果为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);//输出false
        System.out.println(c);//输出5
        //c<4为假,则直接输出d为假,后面c++不执行,如果执行则输出的c为6
    }
}

  1. 位运算
package operation;

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
    ~B  =1111  0010

    2*8怎么运算最快?  2*2*2*2
    效率极高!!!直接与底层打交道
    << 左移  *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

    }
}

  1. 扩展赋值运算符

赋值运算符:+=、-= ,以及关于字符串连接符的面试题。

package operation;

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连接
        System.out.println(a+b);//输出30
        System.out.println(""+a+b);//输出1020
        System.out.println(a+b+"");//输出为30,字符串在前面直接拼接,字符串在后面先运算再拼接
    }
}

  1. 条件运算符(必须掌握)
package operation;
//三元运算符
public class Demo08 {
    public static void main(String[] args) {
        //x ? y : z
        //如果x=true,则结果为y,否则结果为z

        int score =80;
        String type = score < 60 ? "不及格":"及格";//必须掌握!!!
        System.out.println(type);
    }
}

运算符优先级问题。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值