Java基础知识(包含switch case的一些隐藏知识点) Part02

    1. 运算符与优先级
      1. 赋值运算符
        1. + - * / % ++ --
        2. 自增, 自减
          1. 在前, 先计算, 再赋值
          2. 在后, 先赋值, 再计算
      2. 复合运算符
        1. 自动强制类型转换, 可能会溢出
      3. 关系运算符
      4. 逻辑运算符
        1. & | ^(异或: 左右不一致才为true)
        1. ! && ||
      5. 位运算符: 速度快, 因为不用进制转换
        1. 位与 &
        2. 位或 |
        3. 取反 ~
        4. 异或 ^
      6. 位移运算符
        1. >>
        2. >>>
        3. <<
      7. 三元运算符
        1. 一般有两个候选结果时使用
      8. 运算符优先级
        1. && 高于 ||
        2. 右结合
    2. 分支语句
      1. if(){}
        1. {}可以省略
          1. 但这样的话, 就不能声明变量
      2. if(){}else{}
      3. if(){}else if(){}
      4. if(){}else if(){}else{}
      5. switch
        1. case后可以加{}, 缩小变量作用域
        1. case后需要为字面量, 常量. 不支持拆箱
        1. defaultcase相同, 可以写在任意位置
        2. case中声明的变量, 即使没有执行到这段分支, 以后的case语句也可以使用该变量
        3. case后无break, 相当于短路或 ||
        1. jdk1.7后支持String(byte char short int enum)
        2. 可以用if else替代, 反之则不一定

     

    1. 循环语句
      1. while() {}
      2. do{}while()
      3. continue, break
        1. continue lable; 跳过当前循环, 执行指定循环
        2. break lable; 跳出指定循环.
      1. for循环小括号内变量作用域, for循环结束后内存释放

     

    1. 扩展
      1. for(;;){}可以编译通过, 前提: for循环后无代码, 否则为不可到达语句, 编译会报错.

     

    1. 注意
      1. 避免过多嵌套层级
      2. 至于变量应该在for循环内部还是外部创建, 这是一场圣战!
        1. 在外面, 变量作用域会变大, 但容易得到for循环结束后变量最终值
        2. 在里面, 每次声明耗费性能?
          1. 测了下, 几乎一致
          2. 可能编译器做了优化
        3. 结论未知.
    2. 重点
      1. Java Interview & &&区别, | ||区别
        1. 推荐用短路与/短路或, 可以提高运算效率
      2. 快速计算2*8, 12012/16
        1. 2<<3, 120>>4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值