for循环 java 不为空一行 java for循环 定义_for循环 java 不为空一行


for循环是编程语言中一种循环语句,是Java程序员日常工作中的重要组成部分。循环语句由循环体及循环的判定条件两部分组成,其表达式为:for(单次表达式;条件表达式;末尾循环体){中间循环体;}。拉勾IT课小编为大家分析如何使用这一属性,以达到程序的迅速执行,提升程序的遍历。

在Java程序中,要“逐一处理”――或者说,“遍历”――某一个数组或Collection中的元素的时候,一般会使用一个for循环来实现。以下是代码对比分析:

遍历数组的传统方式


for循环 java 不为空一行 java for循环 定义_for each循环_02


/* 建立一个数组 */
 int[] integers = {1, 2, 3, 4};
 /* 开始遍历 */
 for (int j = 0; j < integers.length; j++) {
 int i = integers[j];
 System.out.println(i);
 }
借助for循环,我们可以用一种更简单地方式来进行遍历的工作:
/* 建立一个Collection */
 String[] strings = {"A", "B", "C", "D"};
 Collection stringList = java.util.Arrays.asList(strings);
 /* 开始遍历 */
 for (Iterator itr = stringList.iterator(); itr.hasNext();) {
 Object str = itr.next();
 System.out.println(str);
 }

我们还可以借助另外一种语法:for (循环变量类型 循环变量名称 : 要被遍历的对象) 循环体实现遍历数组。代码如下

/* 建立一个数组 */
 int[] integers = {1, 2, 3, 4};
 /* 开始遍历 */
 for (int i : integers) {
 System.out.println(i); /* 依次输出“1”、“2”、“3”、“4” */
 }

注意,Java采用“for”(而不是意义更明确的“foreach”)来引导这种一般被叫做“for-each循环”的循环,并使用“:”(而不是意义更明确的“in”)来分割循环变量名称和要被遍历的对象。这样作的主要原因,是为了避免因为引入新的关键字,造成兼容性方面的问题。


for循环 java 不为空一行 java for循环 定义_java for 循环_03


这主要是因为在Java语言中, 不允许把关键字当作变量名来使用,虽然使用“foreach”这名字的情况并不是非常多,但是“in”却是一个经常用来表示输入流的名字(例如 java.lang.System类里,就有一个名字叫做“in”的static属性,表示“标准输入流”)。

在默认情况下,编译器是允许在第二种for循环的循环体里,对循环变量重新赋值的。但这种做法对循环体外面的情况丝毫没有影响,又容易造成理解代码时的困难,所以一般并不推荐使用。

Java提供了一种机制,可以在编译期间就把这样的操作封杀。具体的方法,是在循环变量类型前面加上一个“final”修饰符。这样一来,在循环体里对循环变量进行赋值,就会导致一个编译错误。借助这一机制,就可以有效的杜绝有意或无意的进行“在循环体里修改循环变量”的操作。


for循环 java 不为空一行 java for循环 定义_java for 循环_04


灵活在线学习,不断提升java开发技术,同时加强java技术在使用的顺利,把java每一个知识点掌握好,增强使用效率,深度掌握,java的很多程序基础知识都是对于其他编程也能顺利上手,并且执行与使用。