チュートリアル

Java基礎:はじめてのJava

Java入門オブジェクト指向
広告エリア

はじめに

Javaは企業システムからAndroidアプリまで幅広く使われる言語です。「Write Once, Run Anywhere」の思想のもと、JVM上で動作します。

Hello World

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
# コンパイル
javac HelloWorld.java

# 実行
java HelloWorld

変数とデータ型

プリミティブ型

// 整数型
byte b = 127;           // 8ビット
short s = 32767;        // 16ビット
int i = 2147483647;     // 32ビット
long l = 9223372036854775807L;  // 64ビット

// 浮動小数点型
float f = 3.14f;        // 32ビット
double d = 3.14159265;  // 64ビット

// 文字型
char c = 'A';           // 16ビットUnicode

// 真偽型
boolean flag = true;

参照型

// 文字列
String name = "太郎";
String greeting = "こんにちは、" + name;

// 配列
int[] numbers = {1, 2, 3, 4, 5};
String[] fruits = new String[3];
fruits[0] = "apple";

// null
String empty = null;

型変換

// 暗黙的な型変換(小さい型 → 大きい型)
int i = 100;
long l = i;
double d = l;

// 明示的な型変換(キャスト)
double d2 = 3.14;
int i2 = (int) d2;  // 3

// 文字列への変換
String s = String.valueOf(42);
String s2 = Integer.toString(42);
String s3 = "" + 42;

// 文字列からの変換
int num = Integer.parseInt("42");
double dbl = Double.parseDouble("3.14");

演算子

// 算術演算子
int a = 10 + 3;   // 13
int b = 10 - 3;   // 7
int c = 10 * 3;   // 30
int d = 10 / 3;   // 3(整数除算)
int e = 10 % 3;   // 1(余り)

// 比較演算子
boolean eq = (5 == 5);   // true
boolean ne = (5 != 3);   // true
boolean gt = (5 > 3);    // true

// 論理演算子
boolean and = true && false;  // false
boolean or = true || false;   // true
boolean not = !true;          // false

// 文字列比較(equalsを使う)
String s1 = "hello";
String s2 = "hello";
boolean same = s1.equals(s2);  // true
// s1 == s2 は参照の比較なので避ける

条件分岐

if文

int age = 20;

if (age >= 20) {
    System.out.println("成人です");
} else if (age >= 13) {
    System.out.println("ティーンエイジャーです");
} else {
    System.out.println("子供です");
}

三項演算子

int age = 20;
String status = (age >= 20) ? "成人" : "未成年";

switch文

int day = 3;

switch (day) {
    case 1:
        System.out.println("月曜日");
        break;
    case 2:
        System.out.println("火曜日");
        break;
    case 3:
        System.out.println("水曜日");
        break;
    default:
        System.out.println("その他");
}

// Java 14以降のswitch式
String dayName = switch (day) {
    case 1 -> "月曜日";
    case 2 -> "火曜日";
    case 3 -> "水曜日";
    default -> "その他";
};

ループ

for文

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

// 拡張for文(for-each)
int[] numbers = {1, 2, 3, 4, 5};
for (int num : numbers) {
    System.out.println(num);
}

while文

int count = 0;
while (count < 5) {
    System.out.println(count);
    count++;
}

// do-while
int count2 = 0;
do {
    System.out.println(count2);
    count2++;
} while (count2 < 5);

配列

// 配列の作成
int[] numbers = new int[5];
int[] numbers2 = {1, 2, 3, 4, 5};

// 要素へのアクセス
numbers[0] = 10;
int first = numbers2[0];

// 長さ
int length = numbers.length;

// 多次元配列
int[][] matrix = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};
int value = matrix[1][2];  // 6

文字列操作

String str = "Hello, World!";

// 長さ
int len = str.length();  // 13

// 検索
int index = str.indexOf("World");  // 7
boolean contains = str.contains("Hello");  // true

// 切り出し
String sub = str.substring(0, 5);  // "Hello"

// 変換
String upper = str.toUpperCase();
String lower = str.toLowerCase();
String replaced = str.replace("World", "Java");

// 分割
String[] parts = "a,b,c".split(",");

// 結合
String joined = String.join("-", "a", "b", "c");  // "a-b-c"

// 空白除去
String trimmed = "  hello  ".trim();

// フォーマット
String formatted = String.format("名前: %s, 年齢: %d", "太郎", 25);

// StringBuilder(可変文字列)
StringBuilder sb = new StringBuilder();
sb.append("Hello");
sb.append(", ");
sb.append("World!");
String result = sb.toString();

まとめ

  • Javaは静的型付けのオブジェクト指向言語
  • プリミティブ型(int, double等)と参照型(String, 配列等)
  • 文字列比較はequals()を使用
  • 拡張for文で配列を簡潔に反復

次回はメソッドとクラスの基本について学びます。

広告エリア