`

java 关于for循环

    博客分类:
  • java
阅读更多
关于使用for循环
有人喜欢使用for作类似while的循环:

for(;;) { }

评论:这是一种风格,有一部分人使用,我个人觉得不如while来得直观。

究竟是++i,还是i++

for (int i = 0; i < arrayA.Length; ++i) { }

for (int i = 0; i < arrayA.Length; i++) { }

以前我使用i++的写法,后来,看到一些优秀的代码中,大多使用++i,我就改用++i了。为什么使用++i,看到过一些理由,但觉得那些理由,不值一提。

使用i, j, k作多层循环
for (int i = 0; i < arrayA.Length; ++i) 
{
  Object[] arrayB = arrayA[i];
    for (int j = 0; j < arrayB.Length; ++j)
    {
        Object b = arrayB[j]; //此处需要多加注意,一不留神就会写成Object b = arrayB[i];
    } 
}

使用i, j, k做多层循环时,很容易犯错误,如上述代码中的注释缩写的那样。我参加的代码评审(Code Review)中,或者开发过程中,经常有同事遇到这种BUG。我也曾经吃过亏,每次编写i, j, k多层for循环时,就会提醒自己,小心,别犯错误!

使用for的习惯,除了++i和i++的写法不同外,还有和if、while等语句一样的不同写法,如下:

第一种写法
a、关键字for后面有空格
b、二元表达式左右有空格
c、每个大括号,单独占一行
d、else关键字单独占一行

for (int i = 0; i < list.Count; ++i)
{
}


第二种写法:
a、关键字if后面有空格
b、二元表达式左右有空格
c、大括号放在上一句的右边
for (int i = 0; i < list.Count; ++i) {
}

需要优化是,可能你也会采用这种写法:

int listCount = list.Count;
for (int i = 0; i < listCount; ++i) { }
如果for循环中,不会添加或者删除list的元素,使用这种方式优化,可能得到一丁点(可能不值一提)的性能提升。

需要从list中删除元素时,可能你会使用反序的遍历。如下:

int listCount = list.Count;
for (int i = listCount - 1; i >= 0; --i) 
{
    if (condition) 
    {
        list.RemoveAt(i);
    }
}

如果list的实现是ArrayList,反序遍历可能比正序删除的性能更高一些。

此外,for还有一些其他的使用方式,如:

for (init(); condition(); incement()) { }
for (; i < j; ++i, --j) { };
分享到:
评论

相关推荐

    Java增强for循环中获取index

    在Java编程语言中,增强的for循环(也称为foreach循环)是Java 5引入的一个重要特性,它简化了数组和集合的迭代。然而,增强for循环本身并不直接提供索引访问,这与传统的for循环不同。传统for循环可以让我们通过...

    Java中增强for循环的实现原理和坑详解

    Java中增强for循环的实现原理和坑详解 Java中增强for循环是一种强大且方便的迭代功能,自JDK 1.5以来,它已经成为Java开发者必备的技能之一。然而,许多开发者并不了解增强for循环的实现原理和可能存在的坑。下面...

    Java中for循环练习题

    "Java 中 for 循环练习题" 本节内容将对 Java 中 for 循环的知识点进行总结和归纳,旨在帮助读者更好地理解和掌握 Java 编程语言。 for 循环的基本概念 在 Java 中,for 循环是一种常用的循环语句,用于重复执行...

    java基础for循环练习题

    在"java基础for循环练习题"中,我们通常会遇到几种类型的`for`循环,包括基本的`for`循环、增强型`for`循环(也称为foreach循环),以及在数组和集合中的应用。下面我们将深入探讨这些知识点。 1. **基本的for循环*...

    40.java中for循环.zip

    40.java中for循环.zip40.java中for循环.zip40.java中for循环.zip40.java中for循环.zip40.java中for循环.zip40.java中for循环.zip40.java中for循环.zip40.java中for循环.zip40.java中for循环.zip40.java中for循环.zip...

    Java增强的for循环

    Java增强的for循环 Java增强的for循环是Java 5.0中引入的一种新的循环语法,旨在简化数组和集合的遍历操作。这种循环语法可以使代码更加简洁,让程序员使用时更加方便。但是,增强的for循环也存在一些局限性,需要...

    java代码-使用java增强for循环 string数组赋值的源代码

    java代码-使用java增强for循环 string数组赋值的源代码 ——学习参考资料:仅用于个人学习使用!

    java for循环的几种写法

    "java for 循环的几种写法" 在 Java 编程语言中,for 循环是一种非常常用的循环语句,用于遍历数组、Collection 等类型的对象。在 J2SE 1.5 中,Java 引入了一种新的 for 循环语法,称为“增强的 for 循环”或...

    java的for循环案例

    for循环案例,java代码,利用for循环从控制台输出了几个简单的图形,内容简单,适合新手

    JAVA练习题(for循环练习题等)

    通过`for`循环打印斐波那契数列的前100项。斐波那契数列定义为:第一项与第二项均为1,后续每一项都是前两项之和(如1, 1, 2, 3, 5, 8, 13, 21...)。 ```java int first = 1, second = 1; for (int i = 0; i ; i++...

    java 打印五角星for循环

    ### Java打印五角星for循环知识点详解 #### 一、导入必要的类库 在Java程序开始之前,我们首先需要导入所需的类库。本例中,使用了`java.util.Scanner`来接收用户输入。 ```java import java.util.Scanner; ``` ...

    java for循环与增强for循环

    "Java增强for循环和普通for循环的比较" Java中有两种类型的for循环:普通for循环和增强for循环。普通for循环是我们最常用的循环方式,而增强for循环是一种新的循环方式,它提供了更方便的循环方式,尤其是在遍历...

    java for循环与增强for循环.docx

    Java 中的 for 循环和增强 for 循环 Java 中的 for 循环是一种基本的循环结构,用于遍历数组或集合中的元素。然而,Java 中还有一种特殊的循环结构,即增强 for 循环。增强 for 循环是 Java 5 中引入的一种循环结构...

    Java程序设计基础:for循环.pptx

    ### Java程序设计基础:深入解析for循环 #### 一、for循环概述 在Java程序设计中,循环控制结构是编程的基础之一,它允许程序代码多次重复执行特定的任务或操作。`for`循环作为循环结构中的一种,是Java中最常用且...

    javafor循环打出菱形

    java 用for循环打出菱形 原来很简单的 看看应该就会了 试试吧

    JAVA语言 FOR循环语句的例子

    ### JAVA语言FOR循环语句的例子解析 #### 一、标题与描述解读 - **标题**:“JAVA语言 FOR循环语句的例子”明确了文章的核心是通过一个具体的例子来介绍Java中的FOR循环。 - **描述**:“这是我花了一天时间编的...

    Java中For循环的灵活运用

    此篇文章主要关于For循环 是本人对For的认识与见解 看一看吧,相信对大家来说有没学过的知识

    java 利用for循环输出几何图形

    在Java编程中,for循环是一种常用的控制流程结构,它用于执行重复性的代码块。当我们想要在控制台上打印出几何图形,如星号(*)组成的矩形、正方形或三角形时,for循环就显得非常有用。这里我们将深入探讨如何利用for...

    刚学java,就利用For循环实现打印各种形状形

    刚学java,就利用For循环实现打印各种形状形,test04 输出金字塔,输出倒,输出右,输出右倒形,等各种形状,也可以通过变换输出自己想要的形状,有需要的伙伴可以自行下载

    java基础for循环

    for循环的一些基础行问题,中级和高级,会了里面的for循环,就可以了

Global site tag (gtag.js) - Google Analytics