java基础04:基本运算符

运算符

  1. 运算符

    • 算数运算符:+,-,*,%,++,--

    • 赋值运算符:=

    • 关系运算符:>,<,>=,<=,==,!=instanceof

    • 逻辑运算符:&&,||,!

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

    • 条件运算符:?:

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

  2. 任何数与long类型进行运算操作(加减乘除之类)结果都是long类型。如果没有long,结果都为int

    同理运算里有double,结果也为double

  3. 关系运算符返回布尔值,结果:正确、错误。

二、自增自减 ++ -- //重要!

清楚++a,a++,--a,a--

三、幂运算

例:计算2的三次方,2^3

需要调用数学函数,很多运算会使用一些工具类操作

double pow = Math.pow(2,3);

System.out.println(pow);

四、逻辑运算符

  1. 逻辑运算符

  • && || !

    与 或 非

  • &&:两个变量都为真,结果为真。只要有一个变量为假,结果为假

  • ||:只要有一个变量为真,结果为真。两个为假,结果为假

  • ! :真边假,假变真

  1. 短路运算:

    若a=false,则判断a&&b时,不会运行b

    例:

    public class Day4 {
               public static void main(String[] args) {
                   int a=5;
                   boolean b=(a<5)&&(a++<5);
                   System.out.println(b);
           System.out.println(a);
      }
    }

结果:false 5

证明,在与运算中,第一个变量为假,则不会判断第二个变量,直接输出结果为假

五、位运算(与二进制有关)

  1. A = 0011 1100

B = 0000 1101

A&B=0000 1100 //都为1,才落1。否则就落0

A|B= 0011 1101 //只要有1就落1。

A^B=0011 0001 //上下相同落0,不同落1

~B =1111 0010 //0变1 ,1变0

  1. 左移<< 相当于把数字乘二 *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。

六、扩展赋值运算符

int a =10;
int b =20;

a+=b;          //a=a+b
a-+b;         //a=a-b

七、字符串连接符 + ,String

如果输出的数前面是字符串+ 后面的。那么后面的数都被转换成字符串连接。

例如:

int a =10;
int b =20;


System.out.println(""+a+b);
System.out.println(a+b+"");

//结果为 1020
        30

字符串在前面,后面都转为字符串

字符串在后面,前面依旧运算。

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

//必须掌握

  • x ? y : z

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

  • 例如:

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

九、优先级

优先级 运算符
1 ()
2 ! +(正) -(负) ++ --
3 * / %
4 +(加) -(减)
5 < <= > >=
6 == !=
7 ^
8 &&
9 ||
10 ?:
11 = += -= *= /= %=

 

 

 

 

上一篇:windows下调用外部exe程序 SHELLEXECUTEINFO


下一篇:HashMap长度2次幂/扩容相关