Day06 8~10

08 算数运算符

++ (自增)

先赋值,再自增

--(自减)

先自增,再赋值

 package operator;
 
 public class Dome04 {
     public static void main(String[] args) {
         //++ -- 自增 自减 一元运算符 **非常重要
         int a=3;
 
         int b=a++;  //执行完这行代码后,先给b赋值,再自增
         //a++ a=a+1; a=4
         System.out.println(a);  //a=4
         //++a a=a+1; a=4
         int c=++a;  //执行完这行代码前,先自增,再给c赋值
 
         System.out.println(a);
         System.out.println(b);
         System.out.println(c);
 
         // ++重点在以后循环中使用
         //for (int i = 0; i < ; i++) {
 
         //幂运算 2^3=2*2*2=8 但Java中没有 ^ 运算符 很多运算,会使用一些工具来操作!
         double pow = Math.pow(2, 3);
         System.out.println(pow);
         //Math.(会调出很多数学类运算) pow 为幂运算
 
    }
 }

a++:先赋值后,再自增

++a:先自增后,再赋值

自增:a=a+1

09 逻辑、位运算符

逻辑运算符

  • &&

  • ||

位运算符

二进制运算方式为相同位进行比较

  • 与:& 相同为均为1,则输出1

  • 或:| 相同为均为0,则输出0

  • 异或:^ 相同位同,则输出0;不同则输出1

  • 取反:~ 所有位 1 0 都取反

 package operator;
 
 public class Dome06 {
     public static void main(String[] args) {
         /*
         位运算: 与二进制有关的
         A = 0011 1100
         B = 0000 1101
         -------------------
         A&B = 0000 1100   &(与运算):对应位都为 1,则为 1;否则为 0
         A/B = 0011 1101   /(或运算): 对应为都为 0,则为 0;否则为 1
         A^B = 0011 0001   ^(异或运算): 对应位相同,则为 0;不同,则为 1 (可理解成同 1异 0)
          ~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
 
          */
         System.out.println(2<<3);  //读作 2右移 3位 结果位:16
    }
 }

10 三元运算符及小结

扩展赋值运算符

+=:a = a+b

-+:a = a-b

*=:a = a×b

/=:a = a/b

 package operator;
 
 public class Dome07 {
     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);  //30
         //System.out.println(a); -10
 
         //字符串连接符   + 前后有String类型,会把整个都转化为String,再进行连接
         System.out.println(a+b);
         System.out.println(""+a+b);  // "" 空的字符串 把 a与 b的值连接起来了
         System.out.println(a+b+"");  //字符串在前会拼接,字符串在后依然会相加,再拼接
 
    }
 }

条件运算符

x ? y : z

如果a==true,则输出y,否则输出z

 package operator;
 
 //三元运算符   很重要!!!   必须掌握
 //三元运算符   很重要!!!   必须掌握
 //三元运算符   很重要!!!   必须掌握
 public class Dome08 {
    public static void main(String[] args) {
        // x ? y : z
        //如果x==true,则结果为 y,否则结果为 z
 
        int score = 50;
        String type = score < 60 ? "不及格" : "及格"; //必须掌握
        // if
        System.out.println(type);
 
    }
 }

运算中的优先级

()优先级最高

其余作业!



posted @ 2022-01-11 00:05  登不登对  阅读(29)  评论(0)    收藏  举报