0
点赞
收藏
分享

微信扫一扫

Java运算符学习

骨灰级搬砖工 2022-04-06 阅读 68
java

Java语言支持如下运算符:

  • 算数运算符:+,-,*,/,%,++,–
package operator;

public class Demo01 {
    public static void main(String[] args) {
        //二元运算符
        //ctrl+d 复制当前行到下一行
        int a=10;
        int b=20;
        int c=30;
        int d=40;

        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/(double)b);
    }
}


package operator;

public class Demo02 {
    public static void main(String[] args) {

        long a=12312321321312L;
        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
    }
}
package operator;

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

        System.out.println(a);

        //++a a=a+1;先自增,后赋值
        int c=++a;


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

        //幂运算 2^3   2*2*2 =8  很多运算,我们会使用一些工具类去做
        double pow = Math.pow(2, 3);
        System.out.println(pow);
    }
}
  • 赋值运算符:=
  • 关系运算符:>,<,>=,<=,==,!=,instanceof
package operator;

public class Demo03 {
    public static void main(String[] args) {
        //关系运算符返回的结果: 正确,错误,布尔值
        int a=10;
        int b=20;
        int c=21;

        System.out.println(c%a);
        //取余:模运算
        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a==b);
        System.out.println(a!=b);


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

//逻辑运算符
public class Demo05 {
    public static void main(String[] args) {
        //与 或 非
        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);
    }
}
  • 位运算符:&,|,^,~,>>,<<,>>>
   public static void main(String[] args) {
        /*
        A=0011 1100
        B=0000 1101

        A&B = 0000 1100 两个为1则为1 否则为0
        A|B = 0011 1101 只要其中一个为1,则为一,两个为0则为0
        A^B = 0011 0001 两个相同为0,不同为1
        ~B  = 1111 0010 取反


        2*8=16
        2*2*2*2
        效率极高!!! 与底层打交道
        << 左移  相当于乘以2
        >> 右移  相当于除以2


        0000 0000   0
        0000 0001   1
        0000 0010   2
        0000 0011   3
        0000 0100   4
        0000 1000   8  逢2进1
        0001 0000   16
         */

        System.out.println(2<<3);
    }
}
  • 条件运算符:?:
package operator;

//三元运算符
public class Demo08 {
    public static void main(String[] args) {
        //x?y:z
        //如果x==true,则结果为y,否则结果为z
        int score=80;
        String type = score<60?"不及格":"及格";//必须掌握
        //if
        System.out.println(type);
    }
}
  • 扩展赋值运算符:+=,-=,*=,/=
package operator;

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);

        //字符串连接符    +,只要有一方是字符串,就会转换为字符串连接
        System.out.println(a+b);
        System.out.println(""+a+b);
        System.out.println(a+b+"");//先加起来再变成了字符串
    }
}
  • 优先级()

举报

相关推荐

0 条评论