| すること | Java | C# | VBA | JavaScript |
|---|---|---|---|---|
| 変数 | int n = 1; | var n = 1; | Dim n As Long | let n = 1; |
| 定数 | final int MAX = 10; | const int Max = 10; | Const MAX As Long = 10 | const MAX = 10; |
| 表示 | System.out.println(x); | Console.WriteLine(x); | Debug.Print x | console.log(x); |
| コメント | // ・ /* */ | // ・ /* */ | ' | // ・ /* */ |
| 空の値 | null | null | Nothing ・ Empty | null ・ undefined |
| 型を調べる | x instanceof T | x is T | TypeName(x) | typeof x ・ x instanceof T |
| プログラムの入口 | main メソッド | Main メソッド | 実行する Sub | ファイルの先頭から順に実行 |
| すること | Java | C# | VBA | JavaScript |
|---|---|---|---|---|
| 等しい | ==(文字列は equals) | == | = | === |
| 等しくない | != | != | <> | !== |
| かつ ・ または ・ でない | && || ! | && || ! | And Or Not | && || ! |
| 割った余り | a % b | a % b | a Mod b | a % b |
| 整数の割り算 | 7 / 2 → 3 | 7 / 2 → 3 | 7 \ 2 → 3 | Math.floor(7 / 2) → 3(7 / 2 は 3.5) |
| 文字列の連結 | "a" + b | "a" + b | "a" & b | "a" + b |
| 値の埋め込み | String.format("%s円", x) | $"{x}円" | x & "円" | `${x}円` |
| 文字列 → 数値 | Integer.parseInt(s) | int.Parse(s) | CLng(s) | Number(s) |
| 数値 → 文字列 | String.valueOf(n) | n.ToString() | CStr(n) | String(n) |
| 文字数 | s.length() | s.Length | Len(s) | s.length |
| 無ければ既定値 | (Objects.requireNonNullElse) | x ?? d | — | x ?? d |
| すること | Java ・ C# | VBA | JavaScript |
|---|---|---|---|
| 条件分岐 | if (a) { } else if (b) { } else { } | If a Then … ElseIf b Then … Else … End If | Java ・ C# と同じ |
| 多分岐 | switch (x) { case 1: … break; } | Select Case x … Case 1 … End Select | switch。比べ方は ===。break を忘れると次へ流れ込む |
| 回数のくり返し | for (int i = 0; i < n; i++) | For i = 0 To n - 1 … Next | for (let i = 0; i < n; i++) |
| 要素のくり返し | Java for (var s : list)C# foreach (var s in list) | For Each s In col … Next | for (const s of list) |
| 条件のくり返し | while (cond) { } | Do While cond … Loop | while (cond) { } |
| ぬける ・ 次へ | break ・ continue | Exit For ・ (無い) | break ・ continue |
| 条件で値を選ぶ | a ? b : c | IIf(a, b, c) | a ? b : c |
注意: JavaScript には for (const k in obj) という形もありますが、これはキーを順に取り出すものです。配列の要素を取り出すときは for … of を使います。
| すること | Java | C# | VBA | JavaScript |
|---|---|---|---|---|
| 伸び縮みする並び | new ArrayList<>() | new List<T>() | New Collection | [] |
| 足す | list.add(x) | list.Add(x) | col.Add x | list.push(x) |
| 数 | list.size() | list.Count | col.Count | list.length |
| n 番目 | list.get(0) | list[0] | col(1)(1 から) | list[0] |
| 含むか | list.contains(x) | list.Contains(x) | (自分で探す) | list.includes(x) |
| 変換 ・ 絞り込み | stream().map(…) ・ filter(…) | LINQ の Select ・ Where | (ループで書く) | map(…) ・ filter(…) |
| キーと値の組 | new HashMap<>() | new Dictionary<K, V>() | CreateObject("Scripting.Dictionary") | {} ・ new Map() |
| 組を読む ・ 書く | map.get(k) ・ map.put(k, v) | d[k] ・ d[k] = v | d(k) ・ d(k) = v | o[k] ・ o[k] = v |
| すること | Java | C# | VBA | JavaScript |
|---|---|---|---|---|
| 関数 | static int add(int a, int b) { return a + b; } | static int Add(int a, int b) => a + b; | Function Add(a, b) … Add = a + b … End Function | function add(a, b) { return a + b; } |
| ラムダ式 | (a, b) -> a + b | (a, b) => a + b | — | (a, b) => a + b |
| 引数の既定値 | (オーバーロードで代用) | int x = 0 | Optional x As Long = 0 | x = 0 |
| クラス | class P { } | class P { } | クラスモジュール | class P { } |
| コンストラクタ | クラスと同じ名前 | クラスと同じ名前 | Class_Initialize | constructor() { } |
| 継承 | extends | : Base | (無い) | extends |
| 親を呼ぶ | super.m() | base.M() | — | super.m() |
| private | private int n; | private int n; | Private n As Long | #n; |
| 自分のメンバ | n(this. は省略可) | n(this. は省略可) | n ・ Me.n | this.n(省略できない) |
| すること | Java | C# | VBA | JavaScript |
|---|---|---|---|---|
| 例外を受ける | try { } catch (IOException e) { } | try { } catch (IOException e) { } | On Error GoTo 名前 | try { } catch (e) { }(型で分けない) |
| 例外を投げる | throw new IllegalArgumentException("…") | throw new ArgumentException("…") | Err.Raise 番号, , "…" | throw new Error("…") |
| 後片付け | finally | finally | — | finally |
| 非同期の結果 | CompletableFuture<T> | Task<T> | — | Promise |
| 待つ | future.get()(止まる) | await t | — | await p |
| ほかのファイルを使う | import pkg.Class; | using Namespace; | 参照設定 ・ 標準モジュール | import { f } from "./x.mjs"; |
| 外に見せる | public | public | Public | export |