For、While 和 Do While 循环 Java示例脚本

⚡ 智能摘要

for、while 和 do while 循环 Java脚本可以重复执行一段语句块,而不会重复编写代码。本文将解释每种语法,展示可运行的示例及其预期输出,介绍 for-in 和 for-of 循​​环形式,并涵盖 break、continue 和无限循环预防等内容。

  • 🔁 核心宗旨: 循环会重复执行相同的语句,直到达到固定的次数或满足指定的条件为止。
  • 🔢 for 循环: 头部句柄初始化、退出测试和更新中的三个表达式,适合已知的迭代次数。
  • while 循环: 每次循环之前都会检查该条件,因此如果条件一开始为假,则程序主体可能永远不会执行。
  • 1️⃣ do…while 循环: 因为第一次运行后会对状态进行评估,所以身体至少会运行一次。
  • ???? for…在循环中: 遍历对象的键,返回属性名称而不是值。
  • 📦 循环… 遍历数组、字符串、映射和其他可迭代对象的值。
  • 流量控制: break 语句会立即退出循环,而 continue 语句会跳到下一次迭代。

在 For While 和 Do While 循环中 Java脚本

什么是循环? Java脚本?

当您需要重复执行相同的代码行(执行特定次数或只要特定条件为真)时,循环非常有用。假设您想在网页中输入 100 次“Hello”消息。当然,您必须复制并粘贴同一行 100 次。相反,如果您使用循环,您只需 3 或 4 行即可完成此任务。

无论语法如何,每个循环都由相同的三个部分组成:起始值、决定是否执行下一轮循环的条件,以及使循环向结束移动的更新。下图展示了这个重复的循环。

使用循环 Javascript

不同类型的循环 Java脚本

主要有四种类型的循环 JavaScript.

  1. for循环
  2. for/in 循环
  3. while循环
  4. 做…while 循环

现代 Java脚本添加了 for…of 循环,可以直接迭代值,因此实际上有五种形式可供选择。下表显示了在特定情况下应该使用哪种形式。

循环 状况已检查 最低执行次数 最适合使用
HPMC胶囊 每次传球前 0 已知重复次数
每次传球前 0 由某种条件驱动的未知计数
做…同时 每次传递后 1 必须运行一次的菜单和提示
对于……在 每次传球前 0 读取物体的键
为了…… 每次传球前 0 读取数组或字符串的值

for循环

语法:

for(statement1; statement2; statment3)
{
lines of code to be executed
}
  1. 语句1会首先执行,甚至在执行loo之前。ping 代码。因此,这条语句通常用于为循环内部将要使用的变量赋值。
  2. statement2是执行循环的条件。
  3. 语句3在每次上厕所后都会执行。ping 代码已执行。

自己尝试一下:

<html>
<head>
	<script type="text/javascript">
		var students = new Array("John", "Ann", "Aaron", "Edwin", "Elizabeth");
		document.write("<b>Using for loops </b><br />");
		for (i=0;i<students.length;i++)
		{
		document.write(students[i] + "<br />");
		}
	</script>
</head>
<body>
</body>
</html>

输出:

Using for loops
John
Ann
Aaron
Edwin
Elizabeth

计数器从 0 开始,因为第一个索引是 排列 为零,并且条件使用 students.length,因此当添加或删除姓名时,循环会自动调整。

while循环

语法:

while(condition)
{
lines of code to be executed
}

只要指定的条件为真,就会执行“while 循环”。在 while 循环中,您应该包含将在某个时间点结束循环的语句。否则,您的循环将永远不会结束,并且您的浏览器可能会崩溃。

自己尝试一下:

<html>
<head>
	<script type="text/javascript">
		document.write("<b>Using while loops </b><br />");
		var i = 0, j = 1, k;
		document.write("Fibonacci series less than 40<br />");
		while(i<40)
		{
			document.write(i + "<br />");
			k = i+j;
			i = j;
			j = k;
		}
	</script>
</head>
<body>
</body>
</html>

输出:

Using while loops
Fibonacci series less than 40
0
1
1
2
3
5
8
13
21
34

⚠️警告: 如果 while 循环的条件始终为假,则会导致浏览器标签页卡死。务必确认循环体内的变量是否会使条件趋向于假,并且当循环的退出依赖于外部数据时,请使用安全计数器。

做…while 循环

语法:

do
{
block of code to be executed
} while (condition)

do…while 循环与 while 循环非常相似。唯一的区别在于,在 do…while 循环中,代码块会在检查条件之前执行一次。

自己尝试一下:

<html>
<head>
	<script type="text/javascript">
		document.write("<b>Using do...while loops </b><br />");
		var i = 2;
		document.write("Even numbers less than 20<br />");
		do
		{
			document.write(i + "<br />");
			i = i + 2;
		}while(i<20)
	</script>
</head>
<body>
</body>
</html>

输出:

Using do...while loops
Even numbers less than 20
2
4
6
8
10
12
14
16
18

当条件从一开始就为假时,区别就显现出来了。while 循环不会打印任何内容,而 do…while 循环在停止之前仍然会打印一行。ping.

for…在循环中

for…in 循环遍历对象的可枚举属性名。每次遍历都会将下一个键赋值给循环变量,并使用方括号表示法读取其值。

const student = {
    name: "Ann",
    age: 21,
    course: "JavaScript"
};

for (const key in student) {
    console.log(key + " : " + student[key]);
}

输出:

name : Ann
age : 21
course : JavaScript

💡提示: 避免在数组中使用 `for…in` 循环。它会将索引值作为字符串返回,并且还会访问继承的属性,这可能会导致意想不到的结果。请改用 `for…of` 循环或经典的 `for` 循环来处理数组。

for…循环和forEach

`for…of` 循环读取任何可迭代对象的值,包括数组、字符串、映射和集合。`forEach` 方法通过回调函数实现相同的功能,并允许访问索引。

const students = ["John", "Ann", "Aaron"];

// for...of reads each value directly
for (const name of students) {
    console.log(name);
}

// forEach supplies the value and the index
students.forEach(function (name, index) {
    console.log(index + " - " + name);
});

// strings are iterable too
for (const letter of "Ann") {
    console.log(letter);
}

输出:

John
Ann
Aaron
0 - John
1 - Ann
2 - Aaron
A
n
n

一个实际的区别很重要:可以在 for…of 内部中断并继续工作,但不能在 forEach 内部使用,因为每个回调都是一个单独的函数。

中断并继续语句

两个关键字会改变任何循环的正常流程。`break` 语句会完全退出循环,而 `continue` 语句会放弃当前循环并跳转到下一循环。

const numbers = [4, 7, 10, 13, 16, 19];

// continue: skip odd numbers
for (const n of numbers) {
    if (n % 2 !== 0) {
        continue;
    }
    console.log("even: " + n);
}

// break: stop at the first value above 12
for (const n of numbers) {
    if (n > 12) {
        console.log("first value above 12: " + n);
        break;
    }
}

输出:

even: 4
even: 10
even: 16
first value above 12: 13

循环几乎出现在你编写的每个脚本中。继续…… 实际 Java脚本代码示例重访 Java脚本数组方法 对于构建在这些循环之上的迭代辅助函数,并读取 内部和外部 Java脚本 决定最终剧本应该保存在哪里。

常见问题

while 循环在第一次执行之前就检查条件,因此循环体可能永远不会执行。而 do…while 循环在执行之后再检查条件,这保证了代码块至少会执行一次。

是的。内层循环会为外层循环的每次迭代完成一次,这就是网格和表格的构建方式。使用不同的计数器名称可以避免覆盖外层索引。

关闭受影响的标签页,然后修正条件或更新语句,之后再重新加载。添加一个在达到最大遍历次数后停止的计数器,可以防止开发过程中重复出现问题。

经典的 for 循环在处理大型数组时速度略快,因为它避免了回调函数的开销。但当数组元素少于几千个时,速度差异可以忽略不计,因此应该优先考虑代码的可读性。

它们通常默认使用 for…of 或 map。 Rev当任务需要索引、提前退出或保证首次通过时,请查看建议,因为这些情况需要不同的形式。

`for await…of` 循环从流式响应中读取数据块,并将每个标记添加到页面中。它是 `for…of` 的异步版本,需要一个异步函数。

总结一下这篇文章: