首页 > 代码库 > No.6 流程控制的陷阱
No.6 流程控制的陷阱
1. switch语句
- Only convertible int values, strings or enum variables ,即switch语句的表达式的类型只能是可以转换成int型的(向上转型,不丢失精度的),字符串类的和枚举类的
2.if语句
- 使用if...else语句:优先 把 包含范围小的条件放在前面处理
- 对于if语句而言,如果紧跟该语句的是花括号括起来的语句块,那么该if语句将控制花括号括起来的语句块;如果省略了if语句后条件执行体的花括号,那它仅仅控制到紧跟该语句的第一个分号为止。
3.尽量保留花括号,可以省掉很多不必要的 陷阱
4. for循环的初始化条件可以同时定义多个变量,但是由于它只能接受一条语句(因为for后的括号中只能有两个“;”),因此,这两个变量的数据类型应该相同
5. foreach循环
- 遍历时将数组元素、集合元素的副本传给foreach循环的循环计数器——即循环计数器本身并不是数组元素、集合元素本身,只是一个中间变量,保存了元素的值,因此,通过循环计数器改变数组元素、集合元素是行不通的
public class Test2 { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("aa"); list.add("bb"); list.add("cc"); list.add("dd"); for (String string : list) { string = "haha"; System.out.println(string); } System.out.println(list); } }
输出:
haha
haha
haha
haha
[aa, bb, cc, dd]
No.6 流程控制的陷阱
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。