メジャーなコンピュータ言語9つのループの書き方比較
プログラミングの基礎には、順次処理、分岐処理、繰り返し処理(ループ)の3つの要素があります。今回は、この中の繰り返し処理、つまりループに焦点を当て、Python、JavaScript、Java、C++、Ruby、PHP、C#、Swift、そしてKotlinの9つのメジャーなコンピュータ言語について、それぞれのループの書き方を比較していきます。
大きくfor とwhileがあり、配列の数だけループするforeach(forで実装されているのもある)があります。
1. Python
Pythonでは、forループとwhileループが主に使用されます。Pythonの構文はシンプルで、初心者にもわかりやすいです。
# for ループ
for i in range(5):
print(i)
# while ループ
i = 0
while i < 5:
print(i)
i += 1
2. JavaScript
JavaScriptでは、forループ、whileループ、およびfor...ofループが一般的です。Web開発において強力なツールです。
// for ループ
for (let i = 0; i < 5; i++) {
console.log(i);
}
// while ループ
let i = 0;
while (i < 5) {
console.log(i);
i++
// for...of ループ
const array = [0, 1, 2, 3, 4];
for (const value of array) {
console.log(value);
}
3. Java
Javaでは、forループ、whileループ、そしてfor-eachループが使用されます。静的型付けの強力な言語であり、大規模なシステム開発に適しています。
// for ループ
for (int i = 0; i < 5; i++) {
System.out.println(i);
}
// while ループ
int i = 0;
while (i < 5) {
System.out.println(i);
i++;
}
// for-each ループ
int[] array = {0, 1, 2, 3, 4};
for (int value : array) {
System.out.println(value);
}
4. C++
C++では、forループ、whileループ、そして範囲ベースのforループが使用されます。高パフォーマンスで低レベルの操作が可能です。
// for ループ
for (int i = 0; i < 5; i++) {
std::cout << i << std::endl;
}
// while ループ
int i = 0;
while (i < 5) {
std::cout << i << std::endl;
i++
// 範囲ベースのforループ (C++11以降)
std::vector<int> vec = {0, 1, 2, 3, 4};
for (int value : vec) {
std::cout << value << std::endl;
}
5. Ruby
Rubyでは、eachメソッドやwhileループがよく使用されます。シンプルで読みやすい構文が特徴です。
# each メソッド
(0...5).each do |i|
puts i
end
# while ループ
i = 0
while i < 5 do
puts i
i += 1
end
6. PHP
PHPでは、forループ、whileループ、およびforeachループが一般的です。Web開発で広く使用されています。
// for ループ
for ($i = 0; $i < 5; $i++) {
echo $i;
}
// while ループ
$i = 0;
while ($i < 5) {
echo $i;
$i++;
// foreach ループ
$array = [0, 1, 2, 3, 4];
foreach ($array as $value) {
echo $value;
}
7. C#
C#では、forループ、whileループ、そしてforeachループが一般的です。Microsoftによって開発され、広く使用されています。
// for ループ
for (int i = 0; i < 5; i++) {
Console.WriteLine(i);
}
// while ループ
int i = 0;
while (i < 5) {
Console.WriteLine(i);
i++
// foreach ループ
int[] array = {0, 1, 2, 3, 4};
foreach (int value in array) {
Console.WriteLine(value);
}
8. Swift
Swiftでは、forループ、whileループ、およびfor-inループが一般的です。AppleのiOSおよびmacOS開発に使用されます。
// for ループ
for i in 0..<5 {
print(i)
}
// while ループ
var i = 0
while i < 5 {
print(i)
i += 1
// for-in ループ
let array = [0, 1, 2, 3, 4]
for value in array {
print(value)
}
9. Kotlin
Kotlinでは、forループ、whileループ、およびfor-inループが一般的です。Android開発において広く使用されています。
// for ループ
for (i in 0..4) {
println(i)
}
// while ループ
var i = 0
while (i < 5) {
println(i)
i++
// for-in ループ
val array = arrayOf(0, 1, 2, 3, 4)
for (value in array) {
println(value)
}
比較
Python: 簡潔な構文とリスト操作が得意。学習コストが低く、初心者に適している。
JavaScript: Web開発に強力。for...ofなどの柔軟なループ構文が特徴。
Java: 静的型付けの強力な言語。大規模システム開発に適しており、for-eachループが便利。
C++: 高パフォーマンスで低レベルの操作が可能。範囲ベースのforループが有用。
Ruby: シンプルで読みやすい構文。eachメソッドが直感的で使いやすい。
PHP: Web開発で広く使用。foreachループが便利で、配列操作が得意。
C#: Microsoftによって開発され、広く使用。foreachループが便利。
Swift: AppleのiOSおよびmacOS開発に使用。for-inループが特徴的。
Kotlin: Android開発で広く使用。for-inループが直感的。
それぞれの言語は異なる特徴を持ち、使用する場面や目的に応じて適したものを選ぶことが重要です。プログラミングを学ぶ際には、これらのループ構造を理解し、実際にコーディングしてみることが有益です。
Tips : COBOL
COBOL(Common Business-Oriented Language)は、主にビジネス、金融、行政システムで使用される古いプログラミング言語です。COBOLでのループは、PERFORM文を使用して実装されます。
COBOLのループの書き方
COBOLでは、基本的なループはPERFORM文を使って書きます。以下に、COBOLでのループの例をいくつか示します。
1. PERFORM...VARYING(FORループに相当)
IDENTIFICATION DIVISION.
PROGRAM-ID. LoopExample.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 I PIC 9(2) VALUE 1.
PROCEDURE DIVISION.
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 5
DISPLAY I
END-PERFORM
STOP RUN.
2. PERFORM UNTIL(WHILEループに相当)
IDENTIFICATION DIVISION.
PROGRAM-ID. LoopExample.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 I PIC 9(2) VALUE 0.
PROCEDURE DIVISION.
PERFORM UNTIL I >= 5
ADD 1 TO I
DISPLAY I
END-PERFORM
STOP RUN.
コードの説明
PERFORM...VARYING:
この形式のループは、FORループに相当します。
`PERFORM VARYING I FROM 1 BY 1 UNTIL I > 5`という構文で、1から始めて1ずつ増加させ、Iが5を超えるまでループを実行します。
PERFORM UNTIL:
この形式のループは、WHILEループに相当します。
`PERFORM UNTIL I >= 5`という構文で、Iが5以上になるまでループを実行します。
COBOLは他のモダンな言語とは異なる構文を持っていますが、ビジネスロジックを記述するのに適した特徴を持っています。上述の例は、COBOLのループ構造を理解するための基本的なものです。
この記事が気に入ったらサポートをしてみませんか?