- 浏览: 96582 次
- 性别:
- 来自: 广西
文章分类
最新评论
-
李涤尘:
很好,很清晰的记录
Oracle 多表查询 -
yanxiaojia521:
项目部署成功后,使用localhost可以访问,在局域网内容访 ...
Linux系统下的项目部署 -
txlong_onz:
学好正则这些都不用记了。有的时候要灵活的。
文本框的输入限制
for 循环的使用技巧
在程序设计中,经常要进行程序流程的控制,而在此过程中经常用到的就是for循环语句。for循环是编程语言最基本的内容,在最开始学习编程的时候就会学到,也是在编程过程中经常使用的。
这是一个很熟悉的内容,但是如何使用for循环使程序的效率更高。本文所要讲述的也就是在编程过程中for循环的一些使用技巧以及要注意的地方。
for循环的基本结构:
for( 初始化表达式;判断表达式;递增(递减)表达式){
执行语句;
}
这是for循环最基本的结构,也是一个完整的结构。在编程的过程中可以根据自己的需要灵活的使用for循环的其他的变形结构。
以下是for循环的几种常用结构:
// for循环的几种结构
for( int i = 0; i < 10; i++ ){
// do something
}
for( int i = 0; i < 10; ){
// do something
i++;
}
for( int i = 0;; i++ ){
if( i < 10 )
break;
// do something
}
int i = 0;
for( ; i < 10; i++ ){
// do something
}
for( int j = 0;; ){
if( j < 10 )
break;
// do something
j++;
}
for( ; i < 10; ){
// do something
i++;
}
for( ;; i++ ){
if( i < 10 )
break;
// do something
}
for( ;; ){
if( i < 10 )
break;
// do something
i++;
}
虽然for循环可以写成很多种的结构形式,但是一个for循环执行的基本流程是不变的。
for循环执行的基本流程:
第一步:执行初始化表达式。这个在整个for循环中只执行一次。
第二步:执行判断表达式。在每一次循环中都会执行,如果表达式为false,则结束循环。
第三步:执行递增(递减)表达式。这个在每一次循环的最后执行。
以上只是for循环的基本流程,具体的还要取决于你所书写的for循环的结构而定。
那么for循环在使用中有那些技巧呢?以下只是个人在开发使用中总结的一些内容。
for 循环的使用技巧
1、不要在判断表达式中使用方法调用
来看下面这个例子:
ArrayList<Object> list = new ArrayList<Object>( );
for( int i = 0; i < list.size( ); i++ ){
// do something
}
这个在编程的过程中,我们可能会经常这样写。这个for循环看起来很简洁也很清楚,但是这样有什么不好呢?
看一下它的判断表达式i < list.size( ),我们知道for循环的判断表达式在每一次的循环中都会执行一次,那么list.size( )这个方法的调用每一次也都要执行,这无形中就降低了程序的效率了,也是完全没有必要的。
我们不妨把它改成下面这个例子:
ArrayList<Object> list = new ArrayList<Object>( );
for( int i = 0, listSize = list.size( ); i < listSize; i++ ){
// do something
}
这里只是把list.size( )这个方法的调用放到了for循环的初始化表达式中,因为for循环的初始化表达式是只执行一次而已。
需要注意的一点是,在for循环的初始化表达式中是可以初始化多个变量的,在递增(递减)表达式中也可以有多个表达式,要以逗号间隔,而不是用分号。
如下面的例子:
for(int i=0, j=1, k=2; i<5 || j>6 && k<8; i++, j--, k=i+j){
// do something
}
如果你的JDK版本比较高的话,也可以用以下for循环的高级版本
ArrayList<Object> list = new ArrayList<Object>( );
for( Object object: list ){
// do something
}
2、不要在循环中创建临时对象
来看下面的这个例子:
for( int i = 0; i < 8888; i++ ){
Object object = new Object( );
// do something
}
从循环中可以看到,在每次执行for循环都要创建一个Object的临时对象,而创建一个对象就要占用一定的内存空间,虽然java有垃圾回收机制,但是这也是会在内存中存在很长时间的。
我们不妨把它改成下面这个例子:
Object obj = null;
for( int i = 0; i < 8888; i++ ){
obj = new Object( );
// do something
}
虽然也是在每一次的循环中都实例化一个对象,但是在内存中只保存一份对象的引用,而没有创建大量新的临时对象.从而降低了内存的使用
3、不要把与循环无关的流程放到for循环中执行
我们来看个简单的例子:
int a = 5;
int b = 8;
double[] d = new double[10];
for( int i = 0; i < 10; i++ ){
d[i] = d[i] / ( a * b );
}
我们不妨把它改成下面这个例子:
int a = 5;
int b = 8;
int c = a * b;
for( int i = 0; i < 10; i++ ){
d[i] = d[i] / c;
}
两个例子的对比,可以很清楚的看到,在第二个循环中把 ( a * b ) 放到了for循环的外部,也就只执行了一次。这里只是一个简单的表达式运算,如果是更多的执行语句,那么程序的效率也就会提高更多了。
4、不要让你的for循环变成死循环或者不循环
看下面的例子:
for( int i = 0; i > 10; i++ ){
// 不循环
}
for( int i = 0; i < 10; i-- ){
// 死循环
}
这些主要都是符号的书写错误造成的,只要在编程的注意检查自己的代码就可以。而且这种错误在程序单元测试的时候就很容易发现了。
5、不要让你的for循环执行不完全
来看一个例子:
ArrayList<Object> list = new ArrayList<Object>( );
for( int i = 1, listSize = list.size( ); i < listSize; i++ ){
// do something
}
在初始化表达式中i=1,而list的索引的从0开始的,这样就少了一个值取不到了,而且这种错误是不容易被发现的,因为程序不会报错,所以要特别注意。
也不要写成下面这种:
ArrayList<Object> list = new ArrayList<Object>( );
for( int i = 0, listSize = list.size( ); i <= listSize; i++ ){
// do something
}
判断表达式中i <= listSize使用了等于号,这将会产生下标的越界。
这些主要是在使用for循环的时候,注意循环的边界值,看自己什么时候需要从0开始循环,什么时候需要用等号,就不会出错了。
以上只是自己的一些总结,以后有更多的再补上。希望能给你的编程带来些帮助,也能提高你程序的运行效率。
- for循环的使用技巧.rar (10 KB)
- 下载次数: 6
发表评论
-
Java字符编码(第一篇)
2012-05-17 15:12 0Java字符编码 1. 第一篇:字符编码概念基 ... -
SQL驱动的配置
2012-05-17 14:21 1034<!-- 各种SQL驱动的配置方式 --> &l ... -
java程序调用bat文件,执行oracel数据库备份
2011-11-07 13:06 1534import java.io.BufferedReader; ... -
获取任意java类实例的方法和属性,包括父类的方法和属性
2011-04-14 16:53 2822import java.lang.reflect.Field; ... -
java反编译
2011-04-04 12:08 800java反编译工具jad 1.5.8g ... -
CHM帮助文档制作
2011-04-04 12:06 2163CHM帮助文档制作 下载软件:jd2chm.exe ht ... -
MyEclipse下远程调试liunx下的代码
2011-03-23 10:58 2143MyEclipse下远程调试liunx下的代码 在编译好的c ... -
Linux系统下的项目部署
2011-03-17 20:42 2137Linux系统下的项目部署 第1章 系统配置 ... -
Excel正常显示全部由数字组成的长字符串
2011-03-09 10:19 2612Excel正常显示全部由数 ... -
java网络编程 多线程服务器与客户端系统架构 socket应用
2011-01-14 17:31 2282java网络编程 多线 ... -
struts-config.xml 文件的配置
2011-01-14 14:42 626<?xml version="1.0" ... -
web.xml 文件的完整配置
2011-01-14 14:41 1111<?xml version="1.0" ... -
jsp+javabean实现分页
2011-01-14 14:38 1859此分页程序只用到三个文件test.jsp(用于显示分页结果的J ... -
AjaxAnywhere的配置
2011-01-14 14:21 1511AjaxAnywhere的配置 ajaxany ... -
在JAVA中使用JDBC连接数据库
2011-01-14 14:15 848package net.xiaoxiang.sql; i ... -
在JAVA中使用ODBC连接数据库
2011-01-14 14:14 2553package net.xiaoxiang.sql; i ... -
Log4J配置
2011-01-14 14:09 866------------------------------- ...
相关推荐
for循环的学习就是这么简单,教你通过从实例由简单逐步复杂的过程中快速掌握for循环的应用,几个实例囊括了for循环所有知识点
在本篇文档中,我们主要学习了Vue.js框架中关于for循环嵌套操作的知识点。Vue.js是一套构建用户界面的渐进式JavaScript框架,其核心库只关注视图层,易于上手,同时也能够与其它库或已有项目整合。在文档中,我们...
在"java基础for循环练习题"中,我们通常会遇到几种类型的`for`循环,包括基本的`for`循环、增强型`for`循环(也称为foreach循环),以及在数组和集合中的应用。下面我们将深入探讨这些知识点。 1. **基本的for循环*...
在Python编程语言中,`for`循环和`if`、`else`语句的结合使用是一种强大的技巧,尤其是在处理列表和其他数据结构时。本教程将深入探讨如何在`for`循环内部嵌套`if`和`else`语句,以及它们在创建列表推导式(List ...
"编译原理课设for循环"的主题聚焦于实现对于编程语言中for循环结构的编译处理。这个项目可能包括了词法分析、语法分析以及代码生成等关键步骤,采用简单优先法作为解析策略,并输出三地址代码。 首先,我们需要了解...
### Java循环技巧大全 在Java编程中,循环结构是实现重复执行特定代码块的基本方法之一。本文将深入探讨Java中的循环技巧,特别是如何利用不同类型的循环控制语句来优化程序性能,提高代码可读性和可维护性。 ####...
通过运行这些源代码,你可以看到`for`循环在不同场景下的应用,包括错误处理和优化技巧。 六、实践应用 1. 数组遍历:`for`循环常用于遍历数组的所有元素,进行计算或比较。 2. 循环计数:计算一定次数的操作,如...
代码示例展示了如何使用嵌套的FOR循环来打印一个数字三角形。下面将详细介绍这段代码的工作原理及其背后的逻辑。 #### 四、示例代码详解 ```java public class For3 { public static void main(String[] args) { ...
通过实践这些例子,不仅可以加深对for循环的理解,还可以提高编程技巧,为解决更复杂的问题打下坚实的基础。在实际开发中,熟练掌握嵌套for循环可以极大地提高代码的效率和可读性。通过不断练习和实验,你可以创造出...
Python提供了两种主要的循环结构:for循环和while循环。for循环通常用于遍历序列(如列表、元组、字典等)或迭代器,而while循环则根据条件重复执行代码块,直到条件不再为真。本文将详细介绍如何在Python中使用这两...
Python的语法糖非常强大,比如Python中在for循环中嵌套使用if和else语句的技巧便十分给力,下面我们就举几个例子来看详细的用法: for…[if]…构建List (List comprehension) 1.简单的for…[if]…语句 Python中,for...
For循环嵌套是指在一个For循环内部再嵌套另一个For循环。这种结构允许我们处理更复杂的问题,例如处理二维数组或进行多层遍历。下面是一个简单的嵌套For循环示例,用于打印9x9乘法表: ```java for (int i = 1; i ;...
除了这些基本用法,for循环还可以与其他Python特性结合使用,如条件语句(if-else)和循环控制(break, continue)。以下是一些示例代码: **示例 1:** 计算列表元素总和 ```python numbers = [1, 2, 3, 4, 5] ...
在 Vue.js 中,v-for 循环是每个项目都会使用的东西,它允许您在模板代码中编写 for 循环。 在最基本的用法中,它们的用法如下。 <li v-for=product> {{ product.name }} 但是,在本文中,我将介绍六种方法来...
在编程领域,循环是控制程序流程的关键结构之一,而for循环作为最常见的循环类型,被广泛应用于各种场景。本文将深入探讨for循环的嵌套及其在实际应用中的要点和难点,帮助开发者更好地理解和运用这一技术。 一、...
### C语言中for循环嵌套语句的使用 在C语言编程中,循环结构是实现重复执行特定任务的基础工具之一。其中,`for`循环因其简洁性和灵活性而被广泛使用。当需要处理多维数组或多层数据结构时,单一的`for`循环往往...
### Python中在for循环中嵌套使用if和else语句的技巧 #### 一、前言 Python作为一种高级编程语言,其语法设计简洁且功能强大,尤其体现在对循环和条件语句的支持上。本文将详细介绍如何在Python的for循环中嵌套...
本文将详细讲解如何在Shell脚本中使用`for`循环遍历参数,并介绍其中的一些小技巧。 1. **基本的参数遍历** 在Shell脚本中,可以通过`$1`, `$2`, `$3`等变量来访问传递给脚本的参数,但当参数数量不确定时,使用`...
Java for循环性能优化实现解析 Java for循环性能优化实现解析是 Java 编程中非常重要的一部分,主要讨论了Java for循环性能优化的实现解析。下面是从文件中提炼出的相关知识点: 1. 嵌套循环优化 在Java中,嵌套...