Javaの書き方
よく使う文法・タグ・操作を、短い例で。42項目から探せます。
42 / 42項目
基本の形や関数内の抜粋を掲載しています。そのまま実行する例と準備方法は、各言語の「学ぶ」ページで確認できます。
変数と表示
型を指定して値を覚え、表示します。
String name = "海";
int age = 20;
System.out.println(name);条件分岐
条件によって処理を分けます。
int age = 20;
if (age >= 18) {
System.out.println("成人");
} else {
System.out.println("未成年");
}繰り返し
forで同じ処理を繰り返します。
for (int i = 1; i <= 3; i++) {
System.out.println(i);
}メソッド
処理に名前を付けて呼び出します。
static int add(int a, int b) { return a + b; }配列
複数の値を順番にまとめます。
String[] names = {"海", "空"};
System.out.println(names[0]);クラスとオブジェクト
名前の付いた情報をまとめます。
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で受け止めます。
try {
Integer.parseInt("海");
} catch (NumberFormatException error) {
System.out.println("数字ではありません");
}文字列の結合
変数を文字列に組み合わせる。
String name = "海";
System.out.println("こんにちは、" + name);文字列の操作
長さ、部分文字列、一致を調べる。
String text = "hello";
System.out.println(text.length());
System.out.println(text.substring(0, 2));
System.out.println(text.equals("hello"));ArrayList
値を追加できる一覧を作る。
var names = new java.util.ArrayList<String>();
names.add("海");
System.out.println(names.get(0));HashMap
キーと値を組にして保存する。
var ages = new java.util.HashMap<String, Integer>();
ages.put("海", 20);
System.out.println(ages.get("海"));拡張for
一覧を順番に処理する。
String[] names = {"海", "空"};
for (String name : names) {
System.out.println(name);
}while・break
条件が成立する間繰り返す。
int i = 0;
while (i < 3) {
i++;
if (i == 2) break;
}switch
値に応じて分岐する。
int day = 1;
switch (day) {
case 1: System.out.println("月曜"); break;
default: System.out.println("その他");
}コンストラクター
作成時に値を設定する。
class User {
String name;
User(String name) { this.name = name; }
}継承・オーバーライド
既存クラスを広げ、処理を置き換える。
class Animal { void speak() {} }
class Cat extends Animal {
@Override void speak() { System.out.println("にゃー"); }
}interface
実装する操作の約束を定義する。
interface Greeter { String greet(); }
class User implements Greeter {
public String greet() { return "こんにちは"; }
}final・var
再代入を禁止、または型を推論する。
final int limit = 10;
var name = "海";varはローカル変数で使用します。
enum
候補が決まっている値を定義する。
enum Status { DRAFT, PUBLISHED }ラムダ・forEach
一覧の各値に短い処理を適用する。
var names = java.util.List.of("海", "空");
names.forEach(name -> System.out.println(name));Streamのfilter・map
条件で絞り、値を変換する。
var nums = java.util.List.of(1, 2, 3);
nums.stream().filter(n -> n > 1)
.map(n -> n * 2).forEach(System.out::println);record
データの形を短く定義する。
record User(String name, int age) {}recordはJava 16以降です。
文字を数値にする
数値が書かれた文字列を計算に使える値に変えます。
int count = Integer.parseInt("12");
double price = Double.parseDouble("3.5");数字以外の文字はNumberFormatExceptionになります。
丸める・大きい値を選ぶ
Mathでよく使う数値の計算をします。
long rounded = Math.round(3.6);
int largest = Math.max(10, 20);
int distance = Math.abs(-5);短い条件分岐
条件に応じて使う値を選びます。
int age = 20;
String label = age >= 18 ? "成人" : "未成年";nullを確認する
値がないときは、操作する前に確認します。
String name = null;
if (name != null) {
System.out.println(name.length());
}文字列を比較する
equalsで文字の内容が同じか確認します。
String name = "海";
boolean same = name.equals("海");文字列の内容の比較に==は使いません。
区切って配列にする
区切り文字ごとに文字列を分けます。
String[] colors = "赤,青,白".split(",");
System.out.println(colors[0]);置き換え・空白を除く
文字を置き換えたり前後の空白を除いたりします。
String text = " hello ".trim();
String message = text.replace("hello", "こんにちは");含まれる文字を調べる
containsやstartsWithで文字列の一部を確認します。
String file = "memo.txt";
boolean isText = file.endsWith(".txt");
boolean hasMemo = file.contains("memo");配列の長さ
lengthで配列に入る要素の数を調べます。
int[] scores = {80, 90, 70};
System.out.println(scores.length);配列を並べ替える
小さい順に配列の要素を並べます。
int[] scores = {90, 70, 80};
Arrays.sort(scores);先頭でimport java.util.Arrays;を追加します。元の配列が変わります。
リストの取得・変更・削除
位置を指定してリストの中身を扱います。
var names = new ArrayList<String>();
names.add("海");
names.set(0, "空");
String first = names.get(0);
names.remove(0);import java.util.ArrayList;が必要です。位置は0から始まります。
辞書の値と初期値
キーがないときに返す値を決めておきます。
var counts = new HashMap<String, Integer>();
int count = counts.getOrDefault("りんご", 0);import java.util.HashMap;が必要です。
重複しない集合
HashSetには同じ値を1回だけ登録できます。
var colors = new HashSet<String>();
colors.add("赤");
colors.add("赤");
System.out.println(colors.size());import java.util.HashSet;が必要です。
値を返すメソッド
returnで呼び出し元に計算結果を渡します。
static int doubleOf(int number) {
return number * 2;
}同じ名前のメソッド
引数の型や数によって呼ばれるメソッドが変わります。
static int add(int a, int b) {
return a + b;
}
static double add(double a, double b) {
return a + b;
}外から触れないフィールド
privateで値の変更をクラスの中に限ります。
class User {
private String name = "海";
public String getName() { return name; }
}クラス共通の値
staticの値はインスタンスを作らずに使えます。
class Settings {
static final int MAX_COUNT = 10;
}
// Settings.MAX_COUNTで使うキーボードから1行読む
Scannerで入力された文字を受け取ります。
Scanner input = new Scanner(System.in);
String name = input.nextLine();
System.out.println(name);import java.util.Scanner;が必要です。
ファイルを読む・書く
Filesでテキストファイルの内容を扱います。
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の括弧に書いた資源は処理の後で自動的に閉じます。
try (Scanner input = new Scanner("海\n空")) {
System.out.println(input.nextLine());
}import java.util.Scanner;が必要です。