Javaプログラミング入門：ステップ1 基本知識の習得

# Javaプログラミング入門：ステップ1 基本知識の習得

Javaは、世界中で広く使われているオブジェクト指向プログラミング言語です。特に初学者にとっては、Javaの基本文法と概念を理解することが重要です。本記事では、Javaプログラミングの基礎を学ぶためのステップ1として、以下の内容を順を追って解説します。

1. 変数とデータ型
2. 制御構造（if文、forループ、whileループ）
3. クラスとオブジェクト
4. メソッド
5. 配列とコレクションフレームワーク（List, Set, Map）

## 1. 変数とデータ型

Javaでは、変数を宣言してデータを格納します。変数にはデータ型があり、格納できる値の種類が決まっています。主なデータ型は以下の通りです。

- `int`: 整数を表します。例: `int num = 10;`
- `double`: 小数点数を表します。例: `double price = 19.99;`
- `boolean`: 真偽値（trueまたはfalse）を表します。例: `boolean isTrue = true;`
- `char`: 単一の文字を表します。例: `char letter = 'A';`
- `String`: 文字列を表します。例: `String greeting = "Hello";`

```java
public class VariablesExample {
    public static void main(String[] args) {
        int num = 10;
        double price = 19.99;
        boolean isTrue = true;
        char letter = 'A';
        String greeting = "Hello";
        
        System.out.println("num: " + num);
        System.out.println("price: " + price);
        System.out.println("isTrue: " + isTrue);
        System.out.println("letter: " + letter);
        System.out.println("greeting: " + greeting);
    }
}
```
## 2. 制御構造
### if文
if文は、条件が真の場合に実行するコードブロックを指定します。

```java
public class IfExample {
    public static void main(String[] args) {
        int num = 10;
        if (num > 5) {
            System.out.println("num is greater than 5");
        } else {
            System.out.println("num is not greater than 5");
        }
    }
}
forループ
forループは、指定した回数だけコードブロックを繰り返し実行します。

java
コードをコピーする
public class ForLoopExample {
    public static void main(String[] args) {
        for (int i = 0; i < 5; i++) {
            System.out.println("i: " + i);
        }
    }
}
```
### whileループ
whileループは、条件が真である間、コードブロックを繰り返し実行します。

```java
public class WhileLoopExample {
    public static void main(String[] args) {
        int i = 0;
        while (i < 5) {
            System.out.println("i: " + i);
            i++;
        }
    }
}
```
## 3. クラスとオブジェクト
Javaはオブジェクト指向プログラミング言語であり、クラスとオブジェクトが基本です。クラスはオブジェクトの設計図であり、オブジェクトはクラスのインスタンスです。

```java
public class Car {
    String color;
    int speed;

    void drive() {
        System.out.println("Car is driving at " + speed + " km/h.");
    }
}

public class CarExample {
    public static void main(String[] args) {
        Car myCar = new Car();
        myCar.color = "red";
        myCar.speed = 100;
        myCar.drive();
    }
}
```
## 4. メソッド
メソッドは、特定のタスクを実行するためのコードブロックです。メソッドはクラスの一部として定義されます。

```java
public class Calculator {
    int add(int a, int b) {
        return a + b;
    }
}

public class CalculatorExample {
    public static void main(String[] args) {
        Calculator calc = new Calculator();
        int result = calc.add(5, 3);
        System.out.println("Result: " + result);
    }
}
```
## 5. 配列とコレクションフレームワーク
### 配列
配列は同じデータ型の値を格納するための構造です。

```java
public class ArrayExample {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};
        for (int number : numbers) {
            System.out.println("Number: " + number);
        }
    }
}
```
### コレクションフレームワーク
Javaのコレクションフレームワークは、複数の要素を扱うためのインターフェースとクラスを提供します。代表的なコレクションには`List`,`Set`,`Map`があります。

#### List
順序付きの要素を格納します。

```java
import java.util.ArrayList;
import java.util.List;

public class ListExample {
    public static void main(String[] args) {
        List<String> fruits = new ArrayList<>();
        fruits.add("Apple");
        fruits.add("Banana");
        fruits.add("Cherry");
        
        for (String fruit : fruits) {
            System.out.println("Fruit: " + fruit);
        }
    }
}
```
#### Set
重複しない要素を格納します。

```java
import java.util.HashSet;
import java.util.Set;

public class SetExample {
    public static void main(String[] args) {
        Set<String> uniqueNames = new HashSet<>();
        uniqueNames.add("Alice");
        uniqueNames.add("Bob");
        uniqueNames.add("Alice"); // 重複は無視される
        
        for (String name : uniqueNames) {
            System.out.println("Name: " + name);
        }
    }
}
```
#### Map
キーと値のペアを格納します。

```java
import java.util.HashMap;
import java.util.Map;

public class MapExample {
    public static void main(String[] args) {
        Map<String, Integer> ages = new HashMap<>();
        ages.put("Alice", 30);
        ages.put("Bob", 25);
        
        for (Map.Entry<String, Integer> entry : ages.entrySet()) {
            System.out.println(entry.getKey() + ": " + entry.getValue());
        }
    }
}
```
以上が、Javaプログラミングの基本知識です。これらの基礎をしっかりと理解し、実際に手を動かしてコードを書くことで、Javaプログラミングのスキルを向上させましょう。次回は、これらの基本を活用して、より高度なプログラミングに挑戦してみましょう。