Java流程控制
顺序结构
Java的基本结构就是顺序结构。
除非特殊说明,否则程序就会按顺序一句一句地往下执行。
选择结构
- if单项选择结构
java
1 | if(条件){ |
- if双项选择结构
java
1 | if(条件){ |
- if多项选择结构
java
1 | if(条件1){ |
- 嵌套的if结构
java
1 | if(条件1){ |
- switch多项选择结构
java
1 | switch(表达式){ |
- switch 语句中的变量类型可以是: byte、short、int、 char或 String 。
注意:switch 和if语句的区别
- switch和if-else相比,由于使用了Binary Tree算法,绝大部分情况下switch会快一点,除非是if-else的第一个条件就为true。
- 编译器编译switch与编译if…else…不同。不管有多少case,都直接跳转,不需逐个比较查询。
- 相比于if-else结构,switch的效率绝对是要高很多的,但是switch使用查找表的方式决定了case的条件必须是一个连续的常量。而if-else则可以灵活的多。
- switch的效率与分支数无关。当只有分支比较少的时候,if效率比switch高(因为switch有跳转表)。分支比较多,那当然是使用switch的效率高。
循环结构
- while循环
java
1 | while(布尔表达式){ |
当条件满足时执行循环体,直到条件不满足时跳出循环。
- do…while循环
java
1 | do{ |
先执行一次循环体,再判断条件是否满足。当条件满足时执行循环体,直到条件不满足时跳出循环。
- for循环(重点)
java
1 | for(初识条件表达式;布尔表达式;更新表达式){ |
- 增强型for循环
- 增强for循环(也称for-each循环)是JDK1.5以后引入的一个高级for循环。
- 它专门用来遍历数组和集合。
- 其内部原理是一个Iteration迭代器,在遍历的过程中,不能对集合中的元素进行增删操作。
- “要被遍历的对象.for”可快速生成增强型for循环。
java
1 | for(循环变量类型 循环变量名称:要被遍历的对象){ |
比如:
java
1 | int[] num = {1,2,3,4,5}; |
注意:Java采用“for”(而不是意义更明确的“foreach”)来引导这种一般被叫做“for-each循环”的循环,并使用“:”(而不是意义更明确的“in”)来分割循环变量名称和要被遍历的对象。
这样做的主要原因,是为了避免以为引入新的关键字,造成兼容性方面的问题。Java语言中,不允许把关键字当做变量名来使用。(虽然使用“foreach”这名字的情况并不多,但是“in”却是一个经常用来表示输入流的名字,例如java.lang.System类里,就有一个名字叫做“in”的static属性,表示“标准输入流”。)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Lotlyz's Blog!
评论