Javaプログラミング基礎ガイド

Java開発環境の構築

Javaプログラミングを始めるには、まず開発環境を整える必要があります。以下の手順で環境設定を行いましょう:

  • JDK(Java Development Kit)のインストール
  • 環境変数PATHの設定
  • 環境変数CLASSPATHの設定

環境変数PATHは、Javaコマンドが存在するディレクトリをシステムに伝える役割を果たします。CLASSPATHは、Javaコンパイラがクラスファイルを検索するパスを指定します。

最初のJavaプログラム

Javaプログラミングの第一歩として、簡単なHello Worldプログラムを作成してみましょう。

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("こんにちは、Javaの世界へ!");
    }
}

このプログラムをコンパイルして実行するには、コマンドラインで以下のコマンドを使用します:

javac HelloWorld.java
java HelloWorld

Javaの識別子とキーワード

識別子とは

Javaプログラム内でプログラマーが命名権を持つすべての単語が識別子です。識別子は以下の要素を表現できます:

  • クラス名
  • メソッド名
  • 定数名
  • 変数名

識別子の命名規則

  • 数字で始めることはできません
  • 大文字と小文字は区別されます
  • キーワードを識別子として使用できません
  • 長さに制限はありませんが、適切な長さに保つことが推奨されます

識別子の命名規約

  • クラス名:最初の文字を大文字にし、単語の区切りでも大文字(キャメルケース)
  • 変数名・メソッド名:最初の文字を小文字にし、単語の区切りで大文字
  • 定数名:すべて大文字で単語の区切りはアンダースコア

Javaのキーワード

キーワードはJava言語で予約された単語で、すべて小文字で記述されます。代表的なキーワードには以下のようなものがあります:

public, class, static, void, if, for, while, do, default, byte, short, int, long, float, double, boolean, char, private, protected, switch, true, false, try, catchなど

リテラル

リテラルはプログラム内で直接記述される値のことです。Javaには以下のようなリテラル型があります:

  • 整数型リテラル:-10, 100など
  • 浮動小数点型リテラル:-3.14など
  • 文字列型リテラル:"abc"など(ダブルクォートで囲む)
  • 文字型リテラル:'a'など(シングルクォートで囲む)
  • 論理型リテラル:true, false

変数

変数とは

変数はメモリ内のデータを格納する領域で、データ型、名前、値の3つの要素から構成されます。

変数の宣言と初期化

// 変数の宣言
int number;
String name;

// 宣言と初期化を同時に行う
int age = 25;
double price = 19.99;
boolean isActive = true;

変数のスコープ

変数のスコープはその有効範囲を指します。メソッド内で宣言された変数はローカル変数、クラス内でメソッド外で宣言された変数はメンバ変数と呼ばれます。

データ型

基本データ型

Javaには8つの基本データ型があります:

データ型サイズ(バイト)説明
byte1-128から127までの整数
short2-32,768から32,767までの整数
int4-2,147,483,648から2,147,483,647までの整数
long8-9,223,372,036,854,775,808から9,223,372,036,854,775,807までの整数
float4単精度浮動小数点数
double8倍精度浮動小数点数
boolean1trueまたはfalseの値
char2Unicode文字

データ型の変換

Javaでは、異なるデータ型間で値を代入する場合、型変換が必要になります:

  • 小容量から大容量への変換は自動的に行われます(自動型変換)
  • 大容量から小容量への変換は、キャスト演算子を使用して明示的に行う必要があります
// 自動型変換
int intValue = 100;
long longValue = intValue; // intからlongへの自動変換

// キャストによる型変換
double doubleValue = 123.45;
int intValue2 = (int) doubleValue; // doubleからintへのキャスト

演算子

算術演算子

演算子名前説明
+加算a + b2つの値を加算します
-減算a - b2つの値を減算します
*乗算a * b2つの値を乗算します
/除算a / b2つの値を除算します
%剰余a % b除算の余りを返します
++インクリメントa++値を1増やします
--デクリメントa--値を1減らします

関係演算子

演算子名前結果
>より大きいa > baがbより大きい場合true
<より小さいa < baがbより小さい場合true
>=以上a >= baがb以上の場合true
<=以下a <= baがb以下の場合true
==等しいa == baとbが等しい場合true
!=等しくないa != baとbが等しくない場合true

論理演算子

演算子名前結果
&&論理積(短絡)a && b両方がtrueの場合true
||論理和(短絡)a || bどちらかがtrueの場合true
&論理積a & b両方がtrueの場合true
|論理和a | bどちらかがtrueの場合true
^排他的論理和a ^ bどちらか一方だけがtrueの場合true
!論理否定!aaがfalseの場合true

インクリメントとデクリメントの例

int x = 10;
int y;

// ポストインクリメント(値を参照してから増加)
y = x++;
// xは11、yは10

// プリインクリメント(値を増加してから参照)
y = ++x;
// xは12、yは12

エスケープシーケンス

文字列内で特殊文字を表現するために、エスケープシーケンスを使用します:

シーケンス意味
\n改行
\t水平タブ
\rキャリッジリターン
\\バックスラッシュ
\"ダブルクォート
\'シングルクォート

基本的なJavaクラスの構造

public class SampleClass {
    // プライベートなプロパティ(カプセル化)
    private int id;
    private String name;
    
    // コンストラクタ
    public SampleClass(int id, String name) {
        this.id = id;
        this.name = name;
    }
    
    // ゲッターメソッド
    public int getId() {
        return id;
    }
    
    // セッターメソッド
    public void setId(int id) {
        this.id = id;
    }
    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    // 通常のメソッド
    public void displayInfo() {
        System.out.println("ID: " + id + ", Name: " + name);
    }
}

整数リテラルの表現形式

Javaでは整数リテラルを3つの形式で表現できます:

  • 十進数:10(デフォルト)
  • 八進数:010(0で始まる)
  • 十六進数:0x10(0xで始まる)

long型のリテラルは、末尾にLまたはlを付けます(推奨は大文字のL)。

int decimalValue = 100;      // 十進数
int octalValue = 0100;       // 八進数(64)
int hexValue = 0x100;        // 十六進数(256)
long longValue = 100L;       // long型

文字と文字列の扱い

文字はchar型で表現され、シングルクォートで囲みます。文字列はStringクラスのオブジェクトで、ダブルクォートで囲みます。

char grade = 'A';
String message = "こんにちは、Java!";

// Unicode文字の表現
char japaneseChar = '\u65e5'; // '日'のUnicode

タグ: Java 基本データ型 変数 演算子 識別子

7月23日 21:23 投稿