Day10-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 demo1 {
    public static void main(String[] args) {
        long a=2121212121212212L;
        int b=123;
        short c=10;
        byte d=8;
​
        System.out.println(a+b+c+d);
        System.out.println(b+c+d);
        System.out.println(c+d);
​
    }
}

 

如果有一个数据是double,那么结果也将是double类型。

public class demo1 {
    public static void main(String[] args) {
        int a=10;
        int b=21;
​
        System.out.println(b%a);
    }
}

 

关系运算符

public class demo1 {
    public static void main(String[] args) {
        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 demo1 {
    public static void main(String[] args) {
        int a=3;
        int b=a++;
        
        System.out.println(a );
        
        int c=++a;
​
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
    }
}

 

  1. a赋值为3

  2. a=b=3,然后a自增为4

  3. 此刻输出a为4

  4. a自增为5,再让a=c=5

  5. 此刻,输出a=5,b=3,c=5

a++和++a以及a--和--a都是运算时机的不同

幂运算

public class demo1 {
    public static void main(String[] args) {
        double pow=Math.pow(2,3);
        System.out.println(pow);
    }
}

 

很多运算,我们会使用很多工具类来操作!

逻辑运算符

逻辑与运算:两个变量都为真,结果才为true

逻辑或运算:两个变量有一个为真,则结果才为true

逻辑非运算:如果是真,则为false,如果是假,则为true

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

 

短路运算

public class HelloWorld {
    public static void main(String[] args) {
        int c=5;
        boolean d=(c<4) && (c++<4);
        System.out.println(d);
        System.out.println(c);
    }
}

 

当d中第一个(c<4)为假时,后面的运算将不再执行,因此输出的c仍然为5

位运算符

与二进制有关系,效率极高

public class demo1 {
    public static void main(String[] args) {
        /*
        A =0011 1100
        B =0000 1101
        
        //按位来运算
        A & B = 0000 1100//相同则保留原数字,不同则为0
        A | B = 0011 1101//相同保留原数字,不同为1
        A ^ B = 0011 0001//相同为0,不同为1
        ~ B = 1111 0010//相同为1,不同为0
         */
    }
}

 

左移:<< 等同于*2

右移:>> 等同于/2

public class demo1 {
    public static void main(String[] args) {
        //如何快速计算2*8
        System.out.println(2<<3);
    }
}

 

条件运算符

扩展运算符

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

 

字符串连接符

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

 

三元运算符

x ? y : z

如果 x == true,则结果为 y ,否则结果为 z

public class demo1 {
    public static void main(String[] args) {
        int score=80;
        String type=score<60?"不及格":"及格";
        System.out.println(type);
    }
}

 

是偷懒的方法,大部分用if

 

posted @ 2021-04-09 12:40  星野澪  阅读(84)  评论(0)    收藏  举报