运算符

运算符(operator)

算术运算符

+、-、*、/(考虑小数可转换为double)、%(取余,模运算)、++(自增)、--(自减)

+:不同类型相加,只要有long类型,总和为long类型,否则都是int类型。

 public static void main(String[] args) {
        long a=123123123123123L;
        int b=123;
        short c=10;
        byte d=8;
        System.out.println(a+b+c+d);//输出结果为long类型的123123123123264
        System.out.println(b+c+d);//输出结果为int类型的141
        System.out.println(c+d);//输出结果为int类型的18
    }

++:(a++:先赋值再自增;++a先自增再赋值)(a+=b-----a=a+b)(a-=b-----a=a-b)

public static void main(String[] args) {
        int a=3;
        int b=a++;
        System.out.println(a);
        System.out.println(b);//b=a++,先赋值再自增,b=a=3,a=a+1=4
        int c=++a;
        System.out.println(a);
        System.out.println(c);//c=++a,先自增再赋值,a=a+1=5,c=a=5
    }

赋值运算符

=

关系运算符

<、>、>=、<=、==、!=、instanceof

逻辑运算符

&&(与,两个全为真输出结果才是真)、||(或,一个为真输出结果就是真)、!(非,为真则输出结果为假,为假则输出结果为真)

 public static void main(String[] args) {
        boolean a=true;
        boolean b=false;
        System.out.println("a&&b");//输出结果为FALSE
        System.out.println("a||b");//输出结果为true
        System.out.println("!(a&&b)");//输出结果为true
 }

短路运算(执行第一个判断为FALSE时将不再执行下一个)

int c=5;
        boolean d=(c<4)&&(c++<4);
        System.out.println(d);//输出结果为FALSE
        System.out.println(c);//输出结果为5,若不短路,也就是全部执行,那么C应该为6.

位运算符

  • &(上下数字对应位比较,若都为1,才是1,否则为0)
  • |(上下数字对应位比较,若都为0,才是0,否则为1)
  • ^(上下数字对应位比较,若相同,则是0,否则为1)
  • ~B(对B取反)
  • >>(二进制右移)、<<(二进制左移)、>>>

如:

A=0011 1100

B=0000 1101

则:A&B=0000 1100

A|B=0011 1101

A^B=0011 0001

~B=1111 0010

例题:2*8的最快运算方法:位运算

System.out.println(2<<3);//输出结果为16
0 0000 0000
1 0000 0001
2 0000 0010
4 0000 0100
8 0000 1000
16 0001 0000

条件运算符

条件运算符为三元运算:X?Y:Z(若X==true,则结果为Y,否则为Z)

int score=95;
        String type=score<60?"不及格":"及格";
        System.out.println(type);//输出结果为及格

扩展赋值运算符

+=、-=、*=、/=

字符串连接符

int A=10;
        int B=20;
        System.out.println(A+B);//输出结果为30
        System.out.println(" "+A+B);//输出结果为1020
        System.out.println(A+B+" ");//输出结果为30
posted @ 2024-07-06 20:47  HANR  阅读(31)  评论(0)    收藏  举报