14言語・590の書き方
CODE ATLAS / 文法辞典

Javaの書き方

よく使う文法・タグ・操作を、短い例で。42項目から探せます。

42 / 42項目

基本の形や関数内の抜粋を掲載しています。そのまま実行する例と準備方法は、各言語の「学ぶ」ページで確認できます。

変数と表示

型を指定して値を覚え、表示します。

Main.java
String name = "海";
int age = 20;
System.out.println(name);
説明と練習この項目

条件分岐

条件によって処理を分けます。

Main.java
int age = 20;
if (age >= 18) {
  System.out.println("成人");
} else {
  System.out.println("未成年");
}
説明と練習この項目

繰り返し

forで同じ処理を繰り返します。

Main.java
for (int i = 1; i <= 3; i++) {
  System.out.println(i);
}
説明と練習この項目

メソッド

処理に名前を付けて呼び出します。

Main.java
static int add(int a, int b) { return a + b; }
説明と練習この項目

配列

複数の値を順番にまとめます。

Main.java
String[] names = {"海", "空"};
System.out.println(names[0]);
説明と練習この項目

クラスとオブジェクト

名前の付いた情報をまとめます。

Main.java
public class Main {
  static class User { String name; }
  public static void main(String[] args) {
    User user = new User();
    user.name = "海";
    System.out.println(user.name);
  }
}
説明と練習この項目

例外を受け止める

処理中のエラーをcatchで受け止めます。

Main.java
try {
  Integer.parseInt("海");
} catch (NumberFormatException error) {
  System.out.println("数字ではありません");
}
説明と練習この項目

文字列の結合

変数を文字列に組み合わせる。

Main.java
String name = "海";
System.out.println("こんにちは、" + name);
この項目

文字列の操作

長さ、部分文字列、一致を調べる。

Main.java
String text = "hello";
System.out.println(text.length());
System.out.println(text.substring(0, 2));
System.out.println(text.equals("hello"));
この項目

ArrayList

値を追加できる一覧を作る。

Main.java
var names = new java.util.ArrayList<String>();
names.add("海");
System.out.println(names.get(0));
この項目

HashMap

キーと値を組にして保存する。

Main.java
var ages = new java.util.HashMap<String, Integer>();
ages.put("海", 20);
System.out.println(ages.get("海"));
この項目

拡張for

一覧を順番に処理する。

Main.java
String[] names = {"海", "空"};
for (String name : names) {
  System.out.println(name);
}
この項目

while・break

条件が成立する間繰り返す。

Main.java
int i = 0;
while (i < 3) {
  i++;
  if (i == 2) break;
}
この項目

switch

値に応じて分岐する。

Main.java
int day = 1;
switch (day) {
  case 1: System.out.println("月曜"); break;
  default: System.out.println("その他");
}
この項目

コンストラクター

作成時に値を設定する。

Main.java
class User {
  String name;
  User(String name) { this.name = name; }
}
この項目

継承・オーバーライド

既存クラスを広げ、処理を置き換える。

Main.java
class Animal { void speak() {} }
class Cat extends Animal {
  @Override void speak() { System.out.println("にゃー"); }
}
この項目

interface

実装する操作の約束を定義する。

Main.java
interface Greeter { String greet(); }
class User implements Greeter {
  public String greet() { return "こんにちは"; }
}
この項目

final・var

再代入を禁止、または型を推論する。

Main.java
final int limit = 10;
var name = "海";

varはローカル変数で使用します。

この項目

enum

候補が決まっている値を定義する。

Main.java
enum Status { DRAFT, PUBLISHED }
この項目

ラムダ・forEach

一覧の各値に短い処理を適用する。

Main.java
var names = java.util.List.of("海", "空");
names.forEach(name -> System.out.println(name));
この項目

Streamのfilter・map

条件で絞り、値を変換する。

Main.java
var nums = java.util.List.of(1, 2, 3);
nums.stream().filter(n -> n > 1)
  .map(n -> n * 2).forEach(System.out::println);
この項目

record

データの形を短く定義する。

Main.java
record User(String name, int age) {}

recordはJava 16以降です。

この項目

文字を数値にする

数値が書かれた文字列を計算に使える値に変えます。

Main.java
int count = Integer.parseInt("12");
double price = Double.parseDouble("3.5");

数字以外の文字はNumberFormatExceptionになります。

この項目

丸める・大きい値を選ぶ

Mathでよく使う数値の計算をします。

Main.java
long rounded = Math.round(3.6);
int largest = Math.max(10, 20);
int distance = Math.abs(-5);
この項目

短い条件分岐

条件に応じて使う値を選びます。

Main.java
int age = 20;
String label = age >= 18 ? "成人" : "未成年";
この項目

nullを確認する

値がないときは、操作する前に確認します。

Main.java
String name = null;
if (name != null) {
  System.out.println(name.length());
}
この項目

文字列を比較する

equalsで文字の内容が同じか確認します。

Main.java
String name = "海";
boolean same = name.equals("海");

文字列の内容の比較に==は使いません。

この項目

区切って配列にする

区切り文字ごとに文字列を分けます。

Main.java
String[] colors = "赤,青,白".split(",");
System.out.println(colors[0]);
この項目

置き換え・空白を除く

文字を置き換えたり前後の空白を除いたりします。

Main.java
String text = "  hello  ".trim();
String message = text.replace("hello", "こんにちは");
この項目

含まれる文字を調べる

containsやstartsWithで文字列の一部を確認します。

Main.java
String file = "memo.txt";
boolean isText = file.endsWith(".txt");
boolean hasMemo = file.contains("memo");
この項目

配列の長さ

lengthで配列に入る要素の数を調べます。

Main.java
int[] scores = {80, 90, 70};
System.out.println(scores.length);
この項目

配列を並べ替える

小さい順に配列の要素を並べます。

Main.java
int[] scores = {90, 70, 80};
Arrays.sort(scores);

先頭でimport java.util.Arrays;を追加します。元の配列が変わります。

この項目

リストの取得・変更・削除

位置を指定してリストの中身を扱います。

Main.java
var names = new ArrayList<String>();
names.add("海");
names.set(0, "空");
String first = names.get(0);
names.remove(0);

import java.util.ArrayList;が必要です。位置は0から始まります。

この項目

辞書の値と初期値

キーがないときに返す値を決めておきます。

Main.java
var counts = new HashMap<String, Integer>();
int count = counts.getOrDefault("りんご", 0);

import java.util.HashMap;が必要です。

この項目

重複しない集合

HashSetには同じ値を1回だけ登録できます。

Main.java
var colors = new HashSet<String>();
colors.add("赤");
colors.add("赤");
System.out.println(colors.size());

import java.util.HashSet;が必要です。

この項目

値を返すメソッド

returnで呼び出し元に計算結果を渡します。

Main.java
static int doubleOf(int number) {
  return number * 2;
}
この項目

同じ名前のメソッド

引数の型や数によって呼ばれるメソッドが変わります。

Main.java
static int add(int a, int b) {
  return a + b;
}
static double add(double a, double b) {
  return a + b;
}
この項目

外から触れないフィールド

privateで値の変更をクラスの中に限ります。

Main.java
class User {
  private String name = "海";
  public String getName() { return name; }
}
この項目

クラス共通の値

staticの値はインスタンスを作らずに使えます。

Main.java
class Settings {
  static final int MAX_COUNT = 10;
}
// Settings.MAX_COUNTで使う
この項目

キーボードから1行読む

Scannerで入力された文字を受け取ります。

Main.java
Scanner input = new Scanner(System.in);
String name = input.nextLine();
System.out.println(name);

import java.util.Scanner;が必要です。

この項目

ファイルを読む・書く

Filesでテキストファイルの内容を扱います。

Main.java
Path path = Path.of("memo.txt");
Files.writeString(path, "こんにちは");
String text = Files.readString(path);

Java 11以降。import java.nio.file.*;が必要です。IOExceptionをcatchするかメソッドにthrows IOExceptionを付けます。

この項目

使い終わった資源を閉じる

tryの括弧に書いた資源は処理の後で自動的に閉じます。

Main.java
try (Scanner input = new Scanner("海\n空")) {
  System.out.println(input.nextLine());
}

import java.util.Scanner;が必要です。

この項目