Online Java Compiler

Write, compile, run, and debug Java code online in a full-featured browser IDE. Work with multiple files, save your workspace, and share or collaborate in real time - no setup required.

🚀 260,408 合計実行 (5,854 今月)
出力

Javaのコーディングチャレンジで練習

このエディタで実践的な問題を解こう。サンプルテストを実行し、提出してAIコードレビューを受けられます。

すべてのJavaチャレンジ
簡単

Distance Between Points

Compute the straight-line distance between two points.

学べること 三平方の定理平方根
BeginnerFunctionsLearning-pathmath
簡単

Days in a Month

Return how many days a month has, including leap years.

学べること 暦の規則補助関数
BeginnerConditionsFunctionsLearning-path
簡単

Average of Three

Average three whole numbers.

学べること 算術除算
BeginnerLearning-pathVariables
簡単

2つのベクトルの内積

2つのベクトルを要素ごとに掛けて合計します。すべてのニューロンの中心となる計算です。

学べること ベクトル内積
ニューラルネットワークai機械学習
簡単

Largest of Three

Pick the largest of three numbers without a built-in max.

学べること 比較条件の組み合わせ
BeginnerConditionsLearning-path
簡単

素数判定

数が素数かどうかを判定してください。

学べること 割り切れるかの判定ループの最適化
BeginnerLoopsNumbersStudent-beginner
簡単

Number Triangle

Build a triangle of increasing numbers.

学べること 長くなる行行をまたぐカウンター
BeginnerLearning-pathNested-loopsPatterns
簡単

アームストロング数

数が、その各桁の値を桁数乗して合計した値と等しいかどうかを判定します。

学べること 桁の取り出し累乗
BeginnerNumbersStudent-beginner
簡単

Row Sums

Add up every row of a grid.

学べること 2 次元リスト入れ子のループ
BeginnerGridsLearning-path
簡単

Min and Max Together

Find the smallest and largest value in one pass.

学べること 1 回の走査複数の戻り値
ArraysBeginnerFunctionsLearning-path
簡単

Count Pairs With a Sum

Count pairs of positions whose values add up to a target.

学べること インデックスの組二重カウントの回避
ArraysBeginnerLearning-pathNested-loops
簡単

Hollow Square

Draw the outline of a square with * characters.

学べること 縁の判定文字列の作成
BeginnerLearning-pathNested-loopsPatterns

☕ このJavaオンライン実行ツールについて

CodeUtility Java Executorは、ブラウザ上で直接Javaプログラムを記述・実行できるツールです - インストールやJDKの設定、IDEは不要です。安全なサンドボックス上で動作し、実際のJavaランタイム バージョン8、11、17、21、そして最新に対応しています。

このツールは、本物のjavacコンパイラとJavaランタイム環境をクラウドで使用してコードをコンパイル・実行します。 そのため、クラスやメソッド、ロジックをローカルとまったく同じ挙動でテストできます。

オブジェクト指向の練習、面接対策、統合前のスニペット検証など、あらゆる用途で CodeUtility Java Executorは高速かつ信頼できる実行環境を提供し、どんなデバイスからでもすぐに本物のJavaコードを実行できます。

単なるコードランナーではありません

同じ実行環境で、複数ファイル対応エディター、分離された実行ターミナル、ランタイム別ライブラリ、永続ワークスペース、共有、リアルタイム共同作業を利用できます。

この実行環境の使い方

ランタイムを選択し、ファイルを開くか作成してコードを記述し、[実行]を選択します。出力はターミナルに表示されます。サインインしたユーザーは、ワークスペースにファイルを保存し、ライブラリをインストールして、共有を通じて共同作業できます。

  1. バージョンを選択して現在のファイルを編集するか、ワークスペース内の別のファイルを開きます。
  2. コードを実行し、求められた場合はターミナルに入力して、保存された実行履歴を確認します。
  3. 複数のコードスニペットが必要な作業では、ライブラリ、ワークスペースツール、共有、チャットを利用します。

💡 上のエディタで試せるJavaの基本とサンプル

1. 変数と定数の宣言

Javaでは各変数の型を宣言する必要があります。定数にはfinalを使います。

int age = 30;
double pi = 3.14159;
char grade = 'A';
String name = "Alice";
boolean isActive = true;

// 定数
final int MAX_USERS = 100;
final String COMPANY = "CodeUtility";

2. 条件分岐(if / switch)

制御フローにはif、else if、switchを使います。

int x = 2;
if (x == 1) {
    System.out.println("1");
} else if (x == 2) {
    System.out.println("2");
} else {
    System.out.println("その他");
}

switch (x) {
    case 1:
        System.out.println("1");
        break;
    case 2:
        System.out.println("2");
        break;
    default:
        System.out.println("その他");
}

3. ループ

繰り返しにはfor、while、do-whileを使います。

for (int i = 0; i < 3; i++) {
    System.out.println(i);
}

int n = 3;
while (n > 0) {
    System.out.println(n);
    n--;
}

4. 配列

配列は同じ型の要素を固定長で保持します。

int[] numbers = {10, 20, 30};
System.out.println(numbers[1]);

5. ArrayListの操作

ArrayListは可変長のリストに使います。

import java.util.ArrayList;

ArrayList<Integer> nums = new ArrayList<>();
nums.add(1);
nums.add(2);
nums.add(3);
nums.remove(Integer.valueOf(2));

for (int num : nums) {
    System.out.print(num + " ");
}

6. コンソール入出力

入力にはScanner、出力にはSystem.outを使います。

import java.util.Scanner;

Scanner scanner = new Scanner(System.in);
System.out.print("お名前を入力してください: ");
String name = scanner.nextLine();
System.out.println("こんにちは、" + name);

7. メソッド

戻り値の型と引数を指定してメソッドを定義します。

public static int add(int a, int b) {
    return a + b;
}

System.out.println(add(3, 4));

8. HashMap

HashMapはキーと値のペアを格納するために使います。

import java.util.HashMap;

HashMap<String, Integer> ages = new HashMap<>();
ages.put("Alice", 30);
System.out.println(ages.get("Alice"));

9. 例外処理

実行時例外はtryとcatchで処理します。

try {
    throw new Exception("問題が発生しました");
} catch (Exception e) {
    System.out.println(e.getMessage());
}

10. ファイル入出力

ファイル操作にはjava.nio.fileのFilesとPathsを使います。

import java.nio.file.*;
import java.io.IOException;

Files.writeString(Paths.get("file.txt"), "こんにちは、ファイル");
String content = Files.readString(Paths.get("file.txt"));
System.out.println(content);

11. 文字列操作

Javaの文字列はlength()、substring()、contains()など多くのメソッドをサポートします。

String text = "Hello World";
System.out.println(text.length());
System.out.println(text.substring(0, 5));
System.out.println(text.contains("World"));

12. クラスとオブジェクト

Javaはクラスとインスタンスを用いたオブジェクト指向プログラミングをサポートします。

class Person {
    String name;
    Person(String name) {
        this.name = name;
    }
    void greet() {
        System.out.println("こんにちは、私は " + name);
    }
}

Person p = new Person("Alice");
p.greet();