前言
2020年10月通过知乎了解到多易教育,现计划于2021年8月18日进入多易教育学习。
预习内容
1.位运算符
2.逻辑运算符
3.三元运算符
4.运算符的优先级
知识总结
位运算符
<<左移 左移就是把所有位向左移动几位 补0
>>右移 右移就是把所有位向右移动几位 补最高位
例如
左移
12<<2 意思就是12向左移动两位
12的二进制 0000 1100
0000 1100 左移两位 后面补0 0011 00 00 48
由此我们得出一个快速的算法 M << n 其实可以这么算 M << n = M * 2的n次方
12<<2 = 12*2的2次方
12<<3 = 12*2的3次方
右移
12>>2 意思就是12向右移动两位
0000 1100 右移两位 前面补最高位 0000 0011 3
基本和左移一致 不同点在于正数和负数 负数补1 正数补0
-8>>2
1111 1000 右移两位补1 1111 1110 -2
由此我们得出一个快速的算法 M >>n 其实可以这么算 M >>n = M /2的n次方
-8>>2 -8/2 的 2次方
-16>>3 -16/2的3次方
逻辑运算符
逻辑运算符,它是用于布尔值进行运算的,运算的最终结果为true或false,是布尔值。
例如
public static void main(String[] args) {
System.out.println(true && true);//true
System.out.println(true && false);//false
System.out.println(false && true);//false,右边不计算
System.out.println(false || false);//falase
System.out.println(false || true);//true
System.out.println(true || false);//true,右边不计算
System.out.println(!false);//true
}

三元运算符
数据类型 变量名 = 条件表达式?
表达式1:表达式2
表达式:即通过使用运算符将操作数联系起来的式子,例如:
3+2,使用算数运算符将操作数联系起来,这种情况,我们称为算数表达式。
3>2,使用比较运算符(也称为条件运算符)将操作数联系起来,这种情况,我们称为条件表达式。
运算规则
先判断条件表达式的值,若为true,运算结果为表达式1;若为false,运算结果为表达式2。
例如
public static void main(String[] args) {
int a = 200;
int b = 100;
int max = (a>b ? a : b);//max赋值为 a,b中较大的值
System.out.println(max);//200
int min = (a<b ? a : b);//min赋值为 a,b中较小的值
System.out.println(min);//100
}
运算优先级

疑点难点
目前阶段跟之前一样,大部分是需要记忆的。
自我感受
循序渐进,多多实践,不可一蹴而就。
特别鸣谢
学习内容参考多易教育零基础大数据入门课程http://v.51doit.cn
2020年10月通过知乎了解到多易教育,现计划于2021年8月18日进入多易教育学习。
预习内容
1.位运算符
2.逻辑运算符
3.三元运算符
4.运算符的优先级
知识总结
位运算符
<<左移 左移就是把所有位向左移动几位 补0
>>右移 右移就是把所有位向右移动几位 补最高位
例如
左移
12<<2 意思就是12向左移动两位
12的二进制 0000 1100
0000 1100 左移两位 后面补0 0011 00 00 48
由此我们得出一个快速的算法 M << n 其实可以这么算 M << n = M * 2的n次方
12<<2 = 12*2的2次方
12<<3 = 12*2的3次方
右移
12>>2 意思就是12向右移动两位
0000 1100 右移两位 前面补最高位 0000 0011 3
基本和左移一致 不同点在于正数和负数 负数补1 正数补0
-8>>2
1111 1000 右移两位补1 1111 1110 -2
由此我们得出一个快速的算法 M >>n 其实可以这么算 M >>n = M /2的n次方
-8>>2 -8/2 的 2次方
-16>>3 -16/2的3次方
逻辑运算符
逻辑运算符,它是用于布尔值进行运算的,运算的最终结果为true或false,是布尔值。
例如
public static void main(String[] args) {
System.out.println(true && true);//true
System.out.println(true && false);//false
System.out.println(false && true);//false,右边不计算
System.out.println(false || false);//falase
System.out.println(false || true);//true
System.out.println(true || false);//true,右边不计算
System.out.println(!false);//true
}

三元运算符
数据类型 变量名 = 条件表达式?
表达式1:表达式2
表达式:即通过使用运算符将操作数联系起来的式子,例如:
3+2,使用算数运算符将操作数联系起来,这种情况,我们称为算数表达式。
3>2,使用比较运算符(也称为条件运算符)将操作数联系起来,这种情况,我们称为条件表达式。
运算规则
先判断条件表达式的值,若为true,运算结果为表达式1;若为false,运算结果为表达式2。
例如
public static void main(String[] args) {
int a = 200;
int b = 100;
int max = (a>b ? a : b);//max赋值为 a,b中较大的值
System.out.println(max);//200
int min = (a<b ? a : b);//min赋值为 a,b中较小的值
System.out.println(min);//100
}
运算优先级

疑点难点
目前阶段跟之前一样,大部分是需要记忆的。
自我感受
循序渐进,多多实践,不可一蹴而就。
特别鸣谢
学习内容参考多易教育零基础大数据入门课程http://v.51doit.cn
