往前混混

Day04

运算符

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。

  • 算术(arithmetic)运算符
  • 赋值运算符
  • 比较运算符(关系运算符)
  • 逻辑运算符
  • 位运算符
  • 三元运算符

算术运算符

+,- + - * 、 % (前)++ (后)++ (前)-- (后)-- +

  • %:取模(取余)运算
    结果的符号与被模数的符号相同
    开放中,经常使用%来判断能否被除尽的情况。
  • 前)++:先自增1,然后在运算
    (后)++:先运算,然后在自增1
  • 自增1不会改变本身变量的数据类型
  • (前)--:先自减1,后运算
    (后)--:先运算,后自减1

赋值运算符

+=, -=, *=, /=, %=

  • 开发中,如果希望变量实现+2的操作,有几种方法?(前提:int num = 10;)
    方式一:num = num + 2;
    方式二:num += 2;(推荐,不会改变数据类型)
  • 开发中,如果希望变量实现+1的操作,有几种方法?(前提:int num = 10;)
    方式一:num = num + 1;
    方式二:num += 1;
    方式三:num++;(推荐)

比较运算符

== != > < <= >= instanceof

逻辑运算符

​ &—逻辑与 | —逻辑或 !—逻辑非
​ && —短路与 || —短路或 ^ —逻辑异或
说明:
​ 1.逻辑运算符操作的都是boolean类型的变量

  • 区分&与&&

    相同点1:& 与 && 的运算结果相同
    相同点2:当符号左边是true时,二者都会执行符号右边的运算
    不同点:当符号左边是false时,&继续执行符号右边的运算。&&就不再执行符号右边的运算。
    开发中,推荐使用&&

  • 区分:| 与 ||

    相同点1:| 与 || 的运算结果相同
    相同点2:当符号左边是false时,二者都会执行符号右边的运算
    不同点:当符号左边是true时,|继续执行符号右边的运算。||就不再执行符号右边的运算。
    开发中,推荐使用||

位运算符(了解)

结论:
1.位运算符操作的都是整型的数据
2.<<:在一定范围内,每向左移1位,相当于 * 2 空位补0,被移除的高位丢弃,空缺位补0。

​ >>:在一定范围内,每向右移1位,相当于 / 2 被移位的二进制最高位是0,右移后,空缺位补0;
最高位是1,空缺位补1。

​ >>>:被移位二进制最高位无论是0或者是1,空缺位都用0补。

​ &:二进制位进行&运算,只有1&1时结果是1,否则是0;
​ |:二进制位进行 | 运算,只有0 | 0时结果是0,否则是1;
​ ^:相同二进制位进行 ^ 运算,结果是0;1^1=0 , 0^0=0
​ 不相同二进制位 ^ 运算结果是1。1^0=1 , 0^1=1
​ ~:正数取反,各二进制码按补码各位取反
​ 负数取反,各二进制码按补码各位取反

面试题:最高效的计算2 * 8 ? 2 << 3 或 8 << 1

三元运算符

1.结构(条件表达式)?表达式1:表达式2
2.说明
条件表达式的结果为boolean类型
根据条件表达式真或假,决定执行表达式1,还是表达式2
如果表达式为true,则执行表达式1。
如果表达式为false,则执行表达式2。
表达式1和表达式2要求是一致的
三元运算符是可以嵌套使用的

  1.  凡是可以使用三元运算符的地方都可以改写为if-else
     反之,不成立。
    

4.如果程序既可以使用三元运算符,又可以使用if-else结构,那么优先选择三元运算符。原因:简洁、执行效率高。

流程控制

顺序结构

程序从上到下逐行地执行,中间没有任何判断和跳转。

分支结构

分支结构中的if-else(条件判断结构)

一、三种结构
第一种:
if(条件表达式){
执行表达式1
}

第二种:二选一
if(条件表达式){
执行表达式1
}else{
执行表达式2
}

第三种:n选一
if(条件表达式){
执行表达式1
}else if(条件表达式){
执行表达式2
}else if(条件表达式){
执行表达式3
}
...
else{
执行表达式n
}

循环结构

posted on 2021-10-08 08:31  往前混混  阅读(21)  评论(0编辑  收藏  举报

导航