- 浏览: 124315 次
- 性别:
- 来自: 北京
博客专栏
-
httclient实践与源...
浏览量:0
文章分类
- 全部博客 (141)
- java设计模式 (6)
- oracle (2)
- spring (0)
- java多线程 (12)
- Effective Java 读书笔记 (5)
- mysql (11)
- 书签 (2)
- Web前端 (2)
- python (6)
- 技术博客 (6)
- 搬家 (2)
- android (1)
- java (18)
- 架构 (6)
- linux (14)
- memcached (3)
- 测试 (1)
- 网络 (1)
- 高性能WEB (2)
- http (1)
- java io (2)
- jdbc (1)
- php (5)
- css (2)
- jenkins (1)
- jfinal (1)
- maven (3)
- 算法 (3)
- 代码规范 (1)
- shell (3)
- 安全 (1)
- fastJson源码剖析 (0)
- jdk源码分析 (0)
- git (1)
- 分布式知识点 (0)
- 分布式 (1)
- tcp (1)
- cpu (2)
- 软技能 (1)
- 编译原理 (1)
- 操作系统 (1)
- java虚拟机 (1)
- 处理器 (1)
- tbschedule (1)
- 需要看的源码 (1)
- idea (1)
- zookeeper (1)
- httpclient (1)
最新评论
-
lliiqiang:
功能是关键,但是因为人的性能有限,所以性能也有可能是功能,
关于有效的性能调优的一些建议 -
huangyunbin:
呵呵,感觉和缓存很相似,已经存在的直接缓存里取,缓存没有的话加 ...
享元模式
关于使用for循环
有人喜欢使用for作类似while的循环:
评论:这是一种风格,有一部分人使用,我个人觉得不如while来得直观。
究竟是++i,还是i++
以前我使用i++的写法,后来,看到一些优秀的代码中,大多使用++i,我就改用++i了。为什么使用++i,看到过一些理由,但觉得那些理由,不值一提。
使用i, j, k作多层循环
使用i, j, k做多层循环时,很容易犯错误,如上述代码中的注释缩写的那样。我参加的代码评审(Code Review)中,或者开发过程中,经常有同事遇到这种BUG。我也曾经吃过亏,每次编写i, j, k多层for循环时,就会提醒自己,小心,别犯错误!
使用for的习惯,除了++i和i++的写法不同外,还有和if、while等语句一样的不同写法,如下:
第一种写法
a、关键字for后面有空格
b、二元表达式左右有空格
c、每个大括号,单独占一行
d、else关键字单独占一行
第二种写法:
a、关键字if后面有空格
b、二元表达式左右有空格
c、大括号放在上一句的右边
需要优化是,可能你也会采用这种写法:
int listCount = list.Count;
for (int i = 0; i < listCount; ++i) { }
如果for循环中,不会添加或者删除list的元素,使用这种方式优化,可能得到一丁点(可能不值一提)的性能提升。
需要从list中删除元素时,可能你会使用反序的遍历。如下:
如果list的实现是ArrayList,反序遍历可能比正序删除的性能更高一些。
此外,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 Unsafe类
2018-03-20 20:55 457http://ifeve.com/sun-misc-unsaf ... -
java 之DelayQueue实际运用示例
2016-06-15 17:09 543http://www.cnblogs.com/sunzhenc ... -
window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法
2015-07-03 19:11 708window下在同一台机器上安装多个版本jdk,修改环境变量不 ... -
java实现base64
2015-04-29 15:30 546BASE64和其他相似的编码算法通常用于转换二进制数据为文本数 ... -
最全的静态网站生成器(开源项目)
2015-04-26 00:53 542最全的静态网站生成器(开源项目) http://www.ite ... -
关于有效的性能调优的一些建议
2015-04-19 12:09 776关于有效的性能调优的 ... -
java 代码时间和内存测试
2015-04-18 22:26 646// 测试用了多少内存 import java.util ... -
系统打印日志的10条建议(翻译)
2015-04-14 14:33 515http://uptoknow.iteye.com/blog/ ... -
Java编程最差实践
2015-04-14 14:32 417http://macrochen.iteye.com/blog ... -
几行代码写RPC
2015-04-13 22:55 476转自梁飞博客 package com.alibaba.stud ... -
58龙哥教你“如何做系统性能优化”(纯干货)
2015-04-12 21:58 618如何做系统性能优化 性能优化的目标是什么?不外乎两个: 时间 ... -
java 关于for和foreach,兼顾效率与安全
2014-12-05 14:46 17481关于for和foreach,兼顾效率与安全 对于数组的访问,是 ... -
会话COOKIE? 持久COOKIE?
2014-11-07 00:15 583关于COOKIE和SESSION的关系,一直没搞清楚。网上一搜 ... -
内存cookie与持久cookie
2014-11-05 22:27 591cookie分两种 :会话cookie(session coo ... -
Java字符串底层理解
2014-09-11 15:11 7741. 栈(stack)与堆(heap)都是 ... -
java 字符串相加
2014-09-10 14:01 1547字符串相加。string + (原作者: 火龙果) 为了加 ... -
java虚拟机垃圾回收深入理解
2013-03-18 17:52 928JAVA学习之4 引用与JVM 1.java内存管理分为内存分 ...
相关推荐
在Java编程语言中,增强的for循环(也称为foreach循环)是Java 5引入的一个重要特性,它简化了数组和集合的迭代。然而,增强for循环本身并不直接提供索引访问,这与传统的for循环不同。传统for循环可以让我们通过...
Java中增强for循环的实现原理和坑详解 Java中增强for循环是一种强大且方便的迭代功能,自JDK 1.5以来,它已经成为Java开发者必备的技能之一。然而,许多开发者并不了解增强for循环的实现原理和可能存在的坑。下面...
"Java 中 for 循环练习题" 本节内容将对 Java 中 for 循环的知识点进行总结和归纳,旨在帮助读者更好地理解和掌握 Java 编程语言。 for 循环的基本概念 在 Java 中,for 循环是一种常用的循环语句,用于重复执行...
在"java基础for循环练习题"中,我们通常会遇到几种类型的`for`循环,包括基本的`for`循环、增强型`for`循环(也称为foreach循环),以及在数组和集合中的应用。下面我们将深入探讨这些知识点。 1. **基本的for循环*...
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 5.0中引入的一种新的循环语法,旨在简化数组和集合的遍历操作。这种循环语法可以使代码更加简洁,让程序员使用时更加方便。但是,增强的for循环也存在一些局限性,需要...
java代码-使用java增强for循环 string数组赋值的源代码 ——学习参考资料:仅用于个人学习使用!
"java for 循环的几种写法" 在 Java 编程语言中,for 循环是一种非常常用的循环语句,用于遍历数组、Collection 等类型的对象。在 J2SE 1.5 中,Java 引入了一种新的 for 循环语法,称为“增强的 for 循环”或...
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程序开始之前,我们首先需要导入所需的类库。本例中,使用了`java.util.Scanner`来接收用户输入。 ```java import java.util.Scanner; ``` ...
"Java增强for循环和普通for循环的比较" Java中有两种类型的for循环:普通for循环和增强for循环。普通for循环是我们最常用的循环方式,而增强for循环是一种新的循环方式,它提供了更方便的循环方式,尤其是在遍历...
Java 中的 for 循环和增强 for 循环 Java 中的 for 循环是一种基本的循环结构,用于遍历数组或集合中的元素。然而,Java 中还有一种特殊的循环结构,即增强 for 循环。增强 for 循环是 Java 5 中引入的一种循环结构...
### Java程序设计基础:深入解析for循环 #### 一、for循环概述 在Java程序设计中,循环控制结构是编程的基础之一,它允许程序代码多次重复执行特定的任务或操作。`for`循环作为循环结构中的一种,是Java中最常用且...
java 用for循环打出菱形 原来很简单的 看看应该就会了 试试吧
### JAVA语言FOR循环语句的例子解析 #### 一、标题与描述解读 - **标题**:“JAVA语言 FOR循环语句的例子”明确了文章的核心是通过一个具体的例子来介绍Java中的FOR循环。 - **描述**:“这是我花了一天时间编的...
此篇文章主要关于For循环 是本人对For的认识与见解 看一看吧,相信对大家来说有没学过的知识
在Java编程中,for循环是一种常用的控制流程结构,它用于执行重复性的代码块。当我们想要在控制台上打印出几何图形,如星号(*)组成的矩形、正方形或三角形时,for循环就显得非常有用。这里我们将深入探讨如何利用for...
刚学java,就利用For循环实现打印各种形状形,test04 输出金字塔,输出倒,输出右,输出右倒形,等各种形状,也可以通过变换输出自己想要的形状,有需要的伙伴可以自行下载
for循环的一些基础行问题,中级和高级,会了里面的for循环,就可以了