プログラム言語ごとの条件式の扱い

条件式はプログラムの分岐処理を行うための重要な要素です。以下に、代表的なプログラミング言語ごとに条件式の記述方法を整理します。


サンプルコードについて

プログラミングにおける { の使い方には、スタイルの違いがあることも重要です。以下に代表的なスタイルの名前を挙げながら解説します。


文頭に { を置くスタイル

このスタイルは “Allman スタイル" と呼ばれます。

特徴:

  • { を独立して次の行に書く。
  • ブロックの始まりがはっきりするため、視認性が良い。
  • C# や C++ でよく使用される。

例: Allman スタイル (C#)

if (x > 10)
{
    Console.WriteLine("x is greater than 10");
}

文末に { を置くスタイル

このスタイルは “K&R スタイル"(Kernighan & Ritchie スタイル)と呼ばれます。最も一般的で、多くの言語でデフォルトとなっています。

特徴:

  • { を条件や宣言の行と同じ行に書く。
  • コンパクトに記述できる。
  • JavaScript、Java、C++ などで広く採用。

例: K&R スタイル (JavaScript)

if (x > 10) {
    console.log("x is greater than 10");
}

Python のスタイル

Pythonでは { を使わず、インデントによってブロックを表現します。このスタイルは “インデントスタイル" とも呼ばれることがあります。

特徴:

  • コードの見た目がシンプル。
  • インデントが構文の一部として機能する。
  • {} の省略により、コードが短く読みやすい。

例: Python スタイル

if x > 10:
    print("x is greater than 10")

スタイルの選び方

  • Allman スタイル → 可読性を重視したい場合や、ブロックが多いコードに適している。
  • K&R スタイル → コンパクトに書きたい場合や、標準的なスタイルを採用したい場合。
  • インデントスタイル (Python) → 言語仕様として採用されており、必ず守る必要がある。

初心者のうちは、使用するプログラミング言語で推奨されているスタイルを真似して書くと良いでしょう!

1. C言語

  • if文
if (condition) {
    // 条件が真の場合の処理
} else {
    // 条件が偽の場合の処理
}
  • switch文
switch (variable) 
    case 1:
        // case 1の処理
        break;
    default:
        // それ以外の処理
}

2. C++

  • if文とswitch文: Cと同様。
  • 条件演算子 (三項演算子)
int max = (a > b) ? a : b;

3. Java

  • if文
if (condition) {
    // 条件が真の場合の処理
} else if (anotherCondition) {
    // 別の条件が真の場合の処理
} else {
    // それ以外の場合の処理
}
  • switch文
switch (variable) {
    case 1 -> System.out.println("Case 1");
    default -> System.out.println("Default case");
}

4. Python

  • if文
if condition:
    # 条件が真の場合の処理
elif another_condition:
    # 別の条件が真の場合の処理
else:
    # それ以外の場合の処理
  • 条件式 (三項演算子)
max_value = a if a > b else b

5. JavaScript

  • if文
if (condition) {
    // 条件が真の場合の処理
} else if (anotherCondition) {
    // 別の条件が真の場合の処理
} else {
    // それ以外の場合の処理
}
  • switch文
switch (variable) {
    case 1:
        console.log("Case 1");
        break;
    default:
        console.log("Default case");
}
  • 条件式 (三項演算子)
let max = (a > b) ? a : b;

6. C#

  • if文: Javaと同様。
  • switch文
switch (variable) {
    case 1:
        Console.WriteLine("Case 1");
        break;
    default:
        Console.WriteLine("Default case");
}
  • 条件式 (三項演算子)
var max = (a > b) ? a : b;

7. Ruby

  • if文
if condition
    # 条件が真の場合の処理
elsif another_condition
    # 別の条件が真の場合の処理
else
    # それ以外の場合の処理
end
  • 条件式 (三項演算子)
max = a > b ? a : b
  • 修飾子形式
puts "Hello" if condition

8. Go (Golang)

  • if文
if condition {
    // 条件が真の場合の処理
} else if anotherCondition {
    // 別の条件が真の場合の処理
} else {
    // それ以外の場合の処理
}
  • switch文
switch variable {
case 1:
    fmt.Println("Case 1")
default:
    fmt.Println("Default case")
}

9. Rust

  • if文
if condition {
    // 条件が真の場合の処理
} else if another_condition {
    // 別の条件が真の場合の処理
} else {
    // それ以外の場合の処理
}
  • 条件式
let max = if a > b { a } else { b };
  • match文 (switch文に相当)
match variable {
    1 => println!("Case 1"),
    _ => println!("Default case"),
}

10. Kotlin

  • if文
if (condition) {
    // 条件が真の場合の処理
} else if (anotherCondition) {
    // 別の条件が真の場合の処理
} else {
    // それ以外の場合の処理
}
  • 条件式
val max = if (a > b) a else b
  • when文 (switch文に相当)
when (variable) {
    1 -> println("Case 1")
    else -> println("Default case")
}

違いのまとめ

言語if文のサポートswitch文/類似構文条件式 (三項演算子)特徴的な構文
Cなし
C++なし
Javaラムダ式switch
Pythonelif
JavaScriptなし
C#null合体演算子switch
Ruby修飾子形式
Go簡潔なswitch
Rustmatch構文
Kotlinwhen文

これらの知識を活用して、適切な条件式を選択し、プログラムの可読性と効率を向上させましょう。

C#

Posted by hidepon