二、Java 数据符号关系篇(运算符)

1. 前面以及讲了Java中的数据类型,接下来会讲在Java中,数据与数据是怎样产生关系以及的
2. 知识点都是琐碎的,运算符再难也只是表示多个数据之间关系.

1 .算术运算符

  • 什么是算术运算符?

    • 算术运算符就是用来对程序中得变量进行计算的,用的也是最多的

      运算符 运算 范例 结果
      + 正号 +7 7
      - 负号 b=11;-b -11
      + 加号 9+9 18
      - 减号 10-8 2
      * 乘号 7*7 49
      / 除号 8/8 1
      % 取模 11%9 2
      ++ 自增(前):先运算再取值 a=2;b=++a a=3;b=3
      ++ 自增(后):先取值后运算 a=2;b=a++ a=3;b=2
      -- 自减(前):先运算后取值 a=2;b=--a a=1;b=1
      -- 自减(后):先取值后运算 a=2;b=a-- a=1;b=2
      + 字符串相加 "a" + "b" "ab"
  • 有何作用?

    • 有了这些符号,计算机才知道如何该去做些数据的处理
  • 代码演示?

    • 1. 作为非科班生得我在自学到运算符这章节的时候,其实对于取模还是比较陌生的,后来再实际工作中慢慢也知道了取模的作用.
      2. 本质上取模 可以套用一个公式 a % b = a - a / b * b
      
      
    • // 这里主要看下 取模和除法
      int a = 11;
      11 % 9 = 2;
      // 套用公式 11 - 11 / 9 * 9 = 11 -1 * 9 = 2
      
      int a = 10;
      int b = 10 / 4; // 这里在Java中b为2
      
      10.0 / 4 = 2.5 // 这里在Java中b为2
          
      double c = 10 / 4 // 这里为2.0
          
      // 以上知识点在数据类型,两个不同类型进行计算总是会把类型转为大的.
      // 整数类型 得到的值始终是整数类型,小数类型存储的值总会是小数类型
      

2. 关系运算符

1. 关系运算符 结果是true 或者 false.对应生活中的no 和 off
  • 关系运算符作用?

    • 主要搭配选择语句if或者循环语句中使用(分支语句后面会讲
  • 关系运算符有哪些?

    运算符 运算 范例 结果
    == 相当于 8==7 false
    != 不等于 8!=7 true
    < 小于 8<7 false
    > 大于 8>7 true
    <= 小于等于 8<=7 false
    >= 大于等于 8>=7 true
    instanceof 检查是否是类的对象 "hsp" instanceof String true
  • 代码演示

    int a = 9;
     int b = 10;
     System.out.pritnln(a == b);
     System.out.pritnln(a != b);
     System.out.pritnln(a > b);
     System.out.pritnln(a < b);
     System.out.pritnln(a >= b);
     System.out.pritnln(a <= b);
     // 结果
     false
     true
     false
     true
     flase
     true
    

3. 逻辑运算符

1. 逻辑运算符在Java体系中相较于之前的 算术运算符、关系运算符 他是比较麻烦得一种表示系统,他得应用也是为了处理生活中更加难以处理的场景,使得Java生态更加强大.
2. 主要处理 布尔类型的,当有多种布尔类型的值时,此时可以用逻辑运算符去处理布尔值最终返回一个布尔类型值.
3. 当学习逻辑运算符部分,不要想太多,先把规则整明白,等用到了自然就知道他得使用场景.
  • 逻辑运算符规则

    1. 逻辑与 : 当 a && b 时,如果a和b有一个满足false,则返回false,除非都为true
    2. 逻辑或 : 当 a || b 时,如果其中有一个为true,则返回true,如果都不是true则返回false
    3. 取反: 当a = true时,!a则是false.
    4. 异或: 当 a^b 时,如果a 不等于b 则返回false 否则就是true(开发时很少使用)
    
  • 代码演示

int a = true;
int b = false;
(a && b) = false
(a || b) = true
int a = false;
int b = false;
(a && b) = false
(a || b) = false

4. 赋值运算符

1. 赋值是编程中的一个叫法,一开始学的时候以为 = 就是相等的意思,其实不然.这里的赋值类型与在变量内存中赋一个数据
2. = 是赋值 == 是 是否相等
3. 赋值得作用就是把一个变量内存指向得值.附加另外一个值
  • 代码演示

    int a = 23; // 这里就是在内存空间中开辟了一段空间,这个空间名字叫做a,里面的值就是23
    a = 24; // 把a指向的内存空间里的23该为24
    

5.三元运算符

1. 三元运算符:条件表达式?表达式1:表达式2
2. 当条件表达式1结果为true,则取表达式1.否则取表达式2
3. 三元运算符相对来说简化了代码量
  • 代码演示

    int a = 23;
    int b = 25;
    int result = 0;
    if (a > 20) {
        result = a++;
    }else {
        result = b++;
    }
    // 以上代码可以用三元表达式
    result = a > b?a++:b++;
    // 最终结果为25,因为a>b等于false所以指向b++,此时b++因为是自增 自增运算符在右边,所以先赋值最后打印result=25.
    

6.运算符优先级

1. 运算符优先级这块内容不用死记硬背,到后边写东西多了自然就懂了.
2. 以下优先级由高到低
  • () {}
  • ++ --
  • 算术运算符
  • 位移运算符
  • 比较运算符
  • 逻辑运算符
  • 三元运算符
  • 赋值运算符
posted @ 2021-02-05 23:48  小风仔  阅读(300)  评论(0编辑  收藏  举报