Java循环中':'符号的作用是什么?附代码实例
问题解答
你代码中for循环里的:是Java 5及以上版本新增的*增强for循环(也叫for-each循环)*的固定语法分隔符,作用是简化数组、集合类的遍历操作,具体规则如下:
:左侧需要声明一个和被遍历对象存储元素类型一致的临时变量,每次循环会自动把当前拿到的元素赋值给这个变量:右侧写需要遍历的目标对象,支持数组、所有实现了Iterable接口的集合类(比如ArrayList、HashSet等)- 循环会自动遍历右侧对象的全部元素,遍历完成后会自动终止,不需要手动控制索引、也不需要手动判断遍历边界
你代码里的for (String s : words)逻辑和下面的普通for循环完全等价:
public int wordsCount(String[] words, int len) { int counter = 0; // 等价的普通for循环写法 for (int i = 0; i < words.length; i++) { String s = words[i]; if (s.length() == len) { counter++; } } return counter; }
这种写法的优势是可以避免手动编写索引逻辑带来的下标越界问题,代码可读性更高、更简洁。
内容的提问来源于stack exchange,提问作者Jennifer
相关产品推荐
相关产品推荐

