さまざまなプログラミング言語の構文を比較してみよう!
プログラミングの構文はさまざまなプログラム言語によって少しずつ違いがあります。
いろいろなプログラム言語に携わる人は、「あれ?この言語のif文でどうやって書くんだっけ?」
など戸惑ったことがある人もいるのではないでしょうか。
それでは、さまざまなプログラミング言語の構文を見ていきましょう。
変数
C・C++・C#・Java言語
データ型 変数名;
データ型 変数名 = 初期値;
-- 例--
int i;
int i = 0;
Javascript
var 変数名 = 初期値;
-- 例 --
var i = 0;
PHP・Perl
$変数名 = 初期値;
-- 例 --
$i = 0;
Ruby・Python
■ローカル変数
変数名 = 初期値
-- 例 --
i = 1
■インスタンス変数
@変数名 = 1
-- 例 --
@i = 1
Go
var 変数名 型名
var 変数名 = 初期値
※初期値を代入する場合は、型名を省略可能
-- 例 --
var i int
var i = 1
Scala
var 変数名:型名 = 初期値
var 変数名 = 初期値
※初期値と同型の場合は、型名を省略可能
-- 例 --
var i:Int - 1
var i = 1
定数
C・C++・C#
const データ型 定数名 = 設定値
-- 例 --
const double PI = 3.14159;
Java
final 定数名 = 設定値
-- 例 --
final PI = 3.14159;
PHP
define("定数名", 設定値);
const 定数名 = 設定値;
-- 例 --
define("PI", 3.14159);
const PI = 3.14159;
Ruby
定数名 = 設定値
※定数名は大文字アルファベットで始める
-- 例 --
PI = 3.14159
Python
Pythonには定数はありません。
Perl
use constant 定数名 => 設定値
-- 例 --
use constant PI => 3.14159
Go
const 定数名 = 設定値
-- 例 --
const PI = 設定値
Scala
val 定数名:データ型 = 設定値
-- 例 --
val PI:Double = 3.14159
if文
C・C++・C#・Java・Javascript・PHP・Go言語
if ( 判定条件A ) {
判定条件Aが成立した場合の処理
} else if ( 判定条件B ) {
判定条件Bが成立した場合の処理
} else {
全ての判定条件が成立しなかった場合の処理
}
-- 例 --
int score = 95;
if( score == 100){
printf("Sランク");
} else if ( score > 80 ) {
printf("Aランク");
} else if ( score > 60 ) {
printf("Bランク");
} else if ( score > 40 ) {
printf("Cランク");
} else {
printf("Eランク");
}
Ruby
if 判定条件A then
判定条件Aが成立した場合の処理
elsif 判定条件B then
判定条件Bが成立した場合の処理
else
全ての判定条件が成立しなかった場合の処理
end
-- 例 --
score = 95;
if score == 100 then
print("Sランク");
elsif score > 80 then
print("Aランク");
elsif score > 60 then
print("Bランク");
elsif score > 40 then
print("Cランク");
else
print("Eランク");
end
Python
if 判定条件A:
判定条件Aが成立した場合の処理
elif 判定条件B:
判定条件Bが成立した場合の処理
else:
全ての判定条件が成立しなかった場合の処理
-- 例 --
score = 95;
if score == 100:
print u"Sランク"
elif score > 80:
print u"Aランク"
elif score > 60:
print u"Bランク"
elif score > 40:
print u"Cランク"
else:
print u"Eランク"
Perl
if (判定条件A) {
判定条件Aが成立した場合の処理
}elsif (判定条件B) {
判定条件Bが成立した場合の処理
}else{
全ての判定条件が成立しなかった場合の処理
}
Scala
if (判定条件A) 判定条件Aが成立した場合の処理
else if (判定条件B) 判定条件Bが成立した場合の処理
else 全ての判定条件が成立しなかった場合の処理
}
繰り返し構文
C・C++・C#
■for(C・C++・C#)
for (初期化式;条件式;増減・変化式)
繰り返し時の実行処理
-- 例 (C・C++) --
int i;
for (i = 0; i <= 10; i = i + 1)
printf("Hello,World!!¥n");
-- 例 (C#) --
int i;
for (i = 0; i <= 10; i = i + 1)
System.Console.WriteLine("Hello,World!!¥n");
■foreach(Range-based for loop)(C++)
for (auto ループ変数 : ループ対象) {
繰り返し時の実行処理
}
-- 例 --
for (auto num : {1, 2, 3, 4, 5}) {
printf(num);
}
■foreach(C#)
foreach (int ループ変数 in ループ対象){
繰り返し時の実行処理
}
-- 例 --
int[] numbers = new int[] { 1, 2, 3, 4, 5 };
foreach (int num in numbers){
System.Console.WriteLine(num);
}
■while(C・C++)
while(条件式)
繰り返し時の実行処理
-- 例 --
int i = 1;
while (i <= 10){
printf("Hello,World!!¥n");
i++;
}
■while(C#)
while(条件式){
繰り返し時の実行処理
}
int i = 1;
while (i < 10) {
Console.WriteLine("current num=", i);
}
■do ... while(C・C++・C#)
do{
実行処理
}while (条件式);
-- 例 --
int i = 1;
do{
printf("Hello,World!!¥n");
i++;
}while (i < 10);