/**
* 两种for循环的陷阱
* @author iblike
*
*/
public class Demo {
public static void main(String[] args) {
Demo demo=new Demo();
demo.testAdd(new int[]{5,6,7,8,9},5);
demo.testSubtract(new int[]{5,6,7,8,9},5);
}
public void testAdd(int [] pArray,int size){
System.out.println("递加循环,错在:第一次for循环就把数据的第一个设成了 1 ");
for(int i=0;i<size;i++){
pArray[i]/=pArray[0];
System.out.println(i+"*** "+pArray[i]+" ***");
}
}
public void testSubtract(int [] pArray,int size){
System.out.println("递减循环 ");
for(int i=size-1;i>=0;i--){
pArray[i]/=pArray[0];
System.out.println(i+"*** "+pArray[i]+" ***");
}
}
}
分享到:
相关推荐
在Java编程语言中,使用for循环来遍历并删除集合元素时,需要注意一个常见的陷阱,即在循环过程中直接修改集合的结构可能导致意外的结果。这个问题主要出现在增强for循环(也称为foreach循环)和常规for循环中,但...
大家都知道在JavaScript中提供了两种方式迭代对象: (1)for 循环; (2)for..in循环; 使用for循环进行迭代数组对象,想必大家都已经司空见惯了。但是,使用for.. in循环时,大家可要注意了,为什么这么说呢?大家听...
在C语言中,for循环是一种常用的控制流程结构,它允许我们执行一段代码多次,通常用于迭代或重复执行任务。在处理复杂逻辑时,for循环的嵌套尤其有用,例如在解决数学问题、遍历数据结构或者构建算法时。在本题中,...
通过上述示例可以看出,`let`关键字提供了一种更加安全、灵活的方式来处理循环中的变量。特别是在涉及闭包的情况下,使用`let`可以避免一些常见的陷阱。总之,`let`的块级作用域特性使得在处理循环和其他代码块时...
1. **边界条件**:冒泡排序通常涉及两层循环,外层循环控制遍历的次数,内层循环进行元素比较和交换。如果不正确地设置外层循环的终止条件,可能导致无限循环。例如,应确保外层循环在数组长度减一的次数内运行,...
在Java编程语言中,`for`循环是一种常用的迭代结构,用于重复执行一段代码直到满足特定条件为止。在本文中,我们将深入探讨一个有趣的`for`循环示例,并解释为什么该示例会导致一个无限循环并无限输出数字0。 #### ...
C语言提供了三种循环语句:for循环、while循环和do-while循环,每种循环语句在用法上各有千秋,但它们都能达到相同的目的,即根据给定条件反复执行一段代码。 在教学实践中,提高循环结构的教学质量与学生对问题的...
例如,你可以有一个`for`循环嵌套在`while`循环中,或者两个`for`循环相互嵌套。 此外,Python的列表推导式(List Comprehensions)提供了一种简洁的创建新列表的方式,它常用于处理循环和条件表达式。例如: ```...
除了传统的`for`循环外,JavaScript还提供了两种特殊的`for`循环形式: 1. **`for...in`循环**:遍历对象的可枚举属性。例如: ```javascript let obj = {a: 1, b: 2, c: 3}; for (let prop in obj) { console...
压缩可以通过两种方式进行:内部压缩和外部压缩。 **内部压缩**是在NoSQL系统内部自动完成的,它可以减少存储空间并提高I/O性能,但对于网络传输性能的提升有限。 **外部压缩**则是在客户端完成的,它不仅能节省...
在Java编程语言中,`for-each`循环和迭代器是两种主要的遍历集合(如数组和集合)的方式。本文将深入探讨这两种方法,并强调它们的用途、优点以及潜在的陷阱。 首先,我们来看一下迭代器(Iterator)。迭代器是Java...
描述中的内容主要提到了累加和连乘两种基本算法,这两种算法常常通过循环结构实现。累加算法是通过每次循环将变量V加上递增表达式e,即V=V+e,通常在循环前将V初始化为0。连乘则是每次循环将V乘以e,即V=V*e,初始值...
•Java提供了两种常见的分支控制结构: –if语句:使用布尔表达式或布尔值作为分支条件来进行分支控制。 –switch语句:用于对多个整型值进行匹配,从而实现分支控制。 if条件语句 •if条件语句的3种...
示例展示了两种for循环的用法,其中一种包含了一个常见的陷阱——`i++;` 应该放在for语句的循环体内部或作为for语句的一部分,而不是放在条件判断之后。这种错误可能导致无限循环或逻辑错误。 ### 6. 求和函数的...
25. **空字符串与null字符串不是一回事**:在Java中,它们是两种不同的状态。 26. **声明不能被打标签**:Java不允许在变量声明前使用标签。 27. **continue必须在循环中**:continue语句用于跳过当前循环的剩余...
当两个或多个对象互相引用对方时,就会形成循环引用,从而阻止垃圾回收器清理这些对象。 3. **缓存数据**:虽然缓存可以提高程序性能,但如果缓存策略不当或者没有合理的失效机制,则可能导致内存持续增长。 4. **未...
Java提供多种循环结构,包括`for`、`while`和`do-while`。理解和掌握循环控制语句,如`break`和`continue`,是解决循环谜题的重要步骤。例如,`break`用于立即退出最内层循环,而`continue`跳过当前迭代的剩余部分,...
这两种方式都会导致`ConcurrentModificationException`。正确的做法是使用迭代器(Iterator)进行删除,或者使用Java 8的Lambda表达式或`removeAll()`方法。例如: - 使用迭代器: ```java Iterator<User> ...
循环有两种基本形式:`for`循环和`while`循环。`for`循环通常用于已知循环次数的情况,而`while`循环则适用于在运行时才能确定循环结束条件的情况。此外,还有`do...while`循环,它的特点是至少会执行一次循环体,...