二、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. 以下优先级由高到低
- () {}
- ++ --
- 算术运算符
- 位移运算符
- 比较运算符
- 逻辑运算符
- 三元运算符
- 赋值运算符