- [[位运算符]] - [[逻辑运算符]] - [[IF判断]] - [[嵌套判断]] - [[switch]] - [[while循环]] - [[for循环]] - [[do while 循环]] - - - - - ## 总结 collapsed:: true - 位运算符 - & | ^的两侧可以放置数值,也可以放布尔表达式 - 按位与 & - 按照二进制比较,同为1则为1,否则为0 - 按位或 | - 按照二进制比较,有1就是1,否则为0 - 异或 ^ - 按照二进制比较,01的结果为1,11和00都是0 - 取反 ~ - 将二进制0变成1,1变成0 - 移位运算 - << 表示将数字的二进制整体向左移动 - \>> 表示将数字的二进制整体向右移动,原本符号不变 - \>>> 表示将数字的二进制整体向右移动,不考虑符号 - 逻辑运算符 - 两侧只能放布尔表达式 - 逻辑与 && - 两个都为true式整个结果才是true - 短路与,前面表达式为false时,后面表达式不会执行 - 逻辑或 || - 两个只要有true,整个结果就是true - 短路与,前面表达式为true时,后面表达式不会执行 - 逻辑非 ! - 假变真,真变假 - IF逻辑判断 - Java代码执行顺序 - 从上至下,从左至右 - IF流程控制 - 单分支 - ```java if(布尔表达式){ //代码 } ``` - 双分支 - ```java if(布尔表达式){ //代码1 }else{ //代码2 } ``` - 三目运算符 - if双分支的简写 - ```java 数据类型 变量 = (布尔表达式)? 值1 : 值2; ``` - 多分支和嵌套 - 当要判断的条件很多时,嵌套判断阅读维护性差 - 多分支 - ```java if(布尔表达式1){ //代码1 }else if(布尔表达式2){ //代码2 }else if(布尔表达式3){ //代码3 }……{ }else{ //代码n } ``` - switch - switch与if区别在于switch判断的是几个固定的值 - ```java int num = 值; switch(num){ case 值1: //代码1 break; case 值2: //代码2 break; case 值3: //代码3 break; …… default: //默认语句代码 break; } ``` - -