Day5

关于运算

自增自减

a++先用a的值,后给a加1

++a先给a加1,后用a的值,即a+1

a--

--a

与、或、非

  1. &&与

    a&&b a,b均为真时,结果为ture;有一个为假时,则结果为false

  2. ||或

    a||b a,b有一个为真时,结果即为ture;两个均为假时,结果才为false

  3. !非

    !a a为真时则输出false;a为假时则输出true

    注意短路问题:当a&&b中a为假时,a&&b的结果即为假,不需要计算b是真是假,则b的运算不会进行

    public class Demo02 {
       public static void main(String[] args) {
           double a=10;
           double b=10;
           double c=11;
           System.out.println(c==b++&&c==a++);//c=11,b=10故c不等于b++,则c==b++&&c==a++结果为false,所以a++不会执行
           System.out.println(a);//最后输出10
           System.out.println(c==b++&&c==a++);//c=11,b=10故c等于b++,则向后运行,其中c==a++,先用a的值,c=a=10,然后a自加,a=11
           System.out.println(a);//最后输出10

      }
    }

    输出结果为
    false
    10.0
    false
    11.0

    位运算

    位只有0和1

    与、或、非、异或

    1. &与

      a&b 当a=b=1时,结果为1;a、b中有一个是0,则结果为0

    2. |或

      a|b 当a=b=0时,结果为0;a、b中有一个为1,则结果为1

    3. ~非

      ~a 当a=0时结果为1;a=1时结果为0

    4. ^异或

      a^b 当a、b不同时输出1;当a、b相同时输出0

       

左移、右移

  1. 左移

    在位运算中相当于乘2

  2. 右移

    在位运算中相当于除2

    0000 0001 1

    0000 0010 2

    0000 0011 3

    0000 0100 4

 

偷懒运算

a+=b即为 a=a+b

a-=b即为 a=a-b

三元运算符

x?y:z

如果x是true,则输出y;否则输出z

public class Demo03 {
   public static void main(String[] args) {
       int x=60;
       String m= "合格";//不可以用char,char只能定义一个字符
       String n= "不合格";
       System.out.println(x<80?n:m);
  }
}
输出结果为
不合格

 

字符串连接符

“ 内容 ”+a+b则输出 内容ab

a+b+“内容”则输出 a+b内容

public class Demo04 {
   public static void main(String[] args) {
       int a=10;
       int b=20;
       System.out.println("结果为:"+a+b);
       System.out.println(a+b+"结果为:");
  }
}
结果为:1020
30结果为:

 

 

 

posted @ 2021-06-15 22:20  wbf123  阅读(46)  评论(0)    收藏  举报