JAVA のソースコードファイルからクラス作成、プログラミングの基本を学ぶ

java Java
java

今日は JAVA を学ぶ第4回目です。

JAVA のプログラム、サーバー開発、スマホアプリ。これらは JAVA といってもすべて作り方からコーディングまで、まるで異なります。しかも日々進化しているのですぐに使い物にならなくなります。

これらを学ぼうと思えば、まず浮かぶのはネット情報ではないでしょうか?

しかし、残念なことにそれらの知識は断片的で体系化されていません。

きょうはあなたと、 JAVA の基本からジックリ学習していこうと思います。

今や ChatGPT でプログラム作成までできてしまう時代になりました。プログラミングをとことんやらなくて良かったのか?悪かったのかわからず考え込んでいます。三重県津市在住でそこそこ年とっています。

1.JAVA《新規》メニューからクラスを作成

パッケージエクスプローラー
パッケージエクスプローラー
taka
taka

SamplePro からクラスを作成します。

1.Javaのソースコードファイルから「クラス」を作成する

Javaでは、ソースコードファイルの拡張子は”.java”である必要があります。また、クラス名とソースコードファイルの名前は一致する必要があります。例えば、クラス名が”MyClass”であれば、ソースコードファイルの名前も”MyClass.java”とする必要があります。

通常、1つのJavaソースコードファイルには、public修飾子を持つクラスは1つしか含まれていません。ただし、同じファイル内には他の非publicなクラスも定義できます。

クラスが所属するパッケージを適切に宣言する必要があります。パッケージ宣言は、ソースコードファイルの先頭に記述されます。

クラスのフィールドやメソッドに適切なアクセス修飾子を付ける必要があります。public、protected、private、またはデフォルトのいずれかを選択します。

クラスの構造を適切に定義することが重要です。コンストラクタ、メソッド、フィールドなどが必要に応じて正しく実装されているかを確認します。

Javaでは、一般的にコーディング規約が存在し、これに従ってコーディングすることが推奨されます。たとえば、クラス名はUpperCamelCase、メソッドやフィールド名はlowerCamelCaseなどです。

これらのポイントに留意することで、正しく動作するJavaのクラスを作成することができます。

  1. ソースコードファイルを作成する Javaのソースコードファイルは、.javaという拡張子を持ちます。例えば、クラス名が「MyClass」の場合、ソースコードファイル名は「MyClass.java」となります。
  2. クラスの宣言 クラスを作成するには、クラス名を指定してクラスを宣言する必要があります。次の例では、クラス名が「MyClass」であるクラスを宣言しています。
public class MyClass {
// クラスの内容を記述
}

クラスの内容を記述する クラスの内容は、クラス定義の中に記述されます。以下は、空のクラス定義の例です。

public class MyClass {
// クラスのフィールド
// クラスのコンストラクタ
// クラスのメソッド
}

クラスのフィールドは、クラスの状態を保持するための変数です。クラスのコンストラクタは、オブジェクトの初期化を行うメソッドです。クラスのメソッドは、クラスが持つ機能を実装するためのメソッドです。

クラスをコンパイルする ソースコードファイルからクラスを作成するためには、Javaコンパイラを使用します。以下のコマンドを使用して、クラスをコンパイルします。

javac MyClass.java

このコマンドを実行すると、クラスファイルが生成されます。クラスファイルの拡張子は、.classとなります。

これが、Javaのソースコードファイルから「クラス」を作成する基本的な手順です。

2.JAVA のパスの設定

taka
taka

Eclipse はオープンソース(無料)の JAVA 開発環境です。

以前は JDK というテキストエディタでソースコードを書き、コマンドを実行してプログラムを作成するという、かなり面倒なものでした。

それが統合開発環境という Eclipse が登場していっきょに幅広く使えるようになりました。

Java は仮想マシンで実行するコードへと変換します。そして実行するにはこのコンピュータ上で動くのです。ですから Windows でも Mac でも Linux でもどんな OS でも動く、開発環境と実行環境を兼ね備えたものになっています。

Eclipse はプラグインによってさまざまな機能を追加して構築できるようになっています。だから本体としてはすごく軽量です。JDK は Java の基本開発環境です。Eclipse もこれをベースに構築されています。インストールされたものがこの2つなのです。

Java のプログラムを実行するだけなら Path を設定しなくても JRE が処理してくれますが、プログラムのコンパイルなど開発作業を行う場合には、Path が設定されていないとコマンド類が認識できません。

初期状態ではい、空の《src》フォルダと《JREシステム・ライブラリー》しかありません。プログラムを作成するには、ここにプログラムのソースコードファイルを用意し、そこにソースコードを記述していくことになります。java ではソースコードは《クラス》と呼ばれます。

パッケージ・エクスプローラーのプロジェクトフォルダにある《src》フォルダを選択の状態にしておくとファイルを保存する場所が《src》に設定されます。

①《ファイル》→《新規》メニューからクラスを作成します。

クラスの作成
クラスの作成

設定する必要があるのは《パッケージ》《名前》《どのメソッド・スタブを作成しますか》の3つだけです。

Java クラス
Java クラス

《完了》を押します。

Sample.java
Sample.java

これで《SampleProj》プロジェクトの中に《jp.katada.eclipsebook》という項目が作られ、その中に《Sample.java》というファイルが作られます。

これが、Java のソースコードファイルです。この中に《クラス》と呼ばれる Java のプログラムを記述することで、Java アプリケーションを作成できます。

つまり、このような形で形成されるということです。

2.JAVA プログラミングの基本

java
java
taka
taka

Javaはオブジェクト指向プログラミング(OOP)言語です。

  1. 変数とデータ型: Javaでは、変数を使用してデータを格納します。変数はデータ型(int、double、Stringなど)を持ちます。
javaCopy codeint age = 25;
double price = 10.99;
String name = "John";
  1. 制御構造: プログラムの流れを制御するための制御構造があります。これには条件分岐(if文)、繰り返し(forループ、whileループ)、および他の制御構造が含まれます。
javaCopy codeif (age >= 18) {
    System.out.println("You are an adult.");
} else {
    System.out.println("You are a minor.");
}

for (int i = 0; i < 5; i++) {
    System.out.println("Count: " + i);
}
  1. メソッド: メソッドは、特定の動作を実行するためのブロックです。メソッドはクラス内に定義され、再利用可能性とコードの簡潔さを促進します。
javaCopy codepublic class MyClass {
    public static void main(String[] args) {
        greet();
    }

    static void greet() {
        System.out.println("Hello, World!");
    }
}
  1. クラスとオブジェクト: Javaはオブジェクト指向プログラミング言語であり、クラスとオブジェクトの概念が重要です。クラスはオブジェクトの設計図であり、オブジェクトはそのクラスのインスタンスです。
javaCopy codepublic class Car {
    String color;
    int speed;

    void drive() {
        System.out.println("Car is driving.");
    }
}

public class Main {
    public static void main(String[] args) {
        Car myCar = new Car();
        myCar.color = "red";
        myCar.speed = 60;
        myCar.drive();
    }
}

これらはJavaプログラミングの基本的な要素です。これらの概念を理解し、実践することで、Javaでのプログラミングスキルを向上させることができます。

1.クラスはオブジェクト指向プログラミングの基本

  1. クラスとオブジェクト
    • プログラムはクラスと呼ばれる設計図から作られたオブジェクトの集合です。
    • クラスは属性(メンバー変数)と振る舞い(メソッド)を持ちます。
    • オブジェクトはクラスから作成されたインスタンスであり、それぞれ独自の状態を持ちます。
  2. 変数とデータ型
    • 変数はデータを格納するためのメモリ領域です。変数を宣言するには、データ型と識別子(変数名)が必要です。
    • Javaにはプリミティブ型(int、double、booleanなど)と参照型(String、Arrayなど)のデータ型があります。
  3. 条件文とループ
    • 条件文(if、else、switch)を使用して、プログラムの実行フローを制御できます。条件に応じて異なるブロックのコードが実行されます。
    • ループ(for、while)を使用して、同じコードブロックを繰り返し実行できます。
  4. メソッド
    • メソッドはクラス内で宣言されるブロックのコードです。メソッドは特定のタスクを実行するために使用されます。
    • メソッドは引数を受け取り、戻り値を返すことができます。
  5. パッケージとインポート
    • パッケージは関連するクラスをグループ化するための方法です。パッケージはディレクトリのような階層構造を持ち、クラスを整理します。
    • 別のパッケージ内のクラスを使用するには、import 文を使用してクラスをインポートする必要があります。
  6. 例外処理
    • 例外は予期せぬエラーの発生時にプログラムの実行を中断することなく処理するために使用されます。
    • try-catch-finally ブロックを使用して例外をキャッチし、適切な処理を実行することができます。

このようなものです。

1.クラスの定義について

taka
taka

ソースコードの中心は「クラス」です。

最初《修飾子》というものがつき、そのあとに《クラス》というキーワードを使ってクラスの名前を記述します。そのあとに《{ 》波カッコという記号があり、そのあと《メソッド》と呼ばれるものが並んで、最後に《 }》で終わります。

注意しなければならないのは、「JAVA では、ソースコードファイル名は、そこで記述されるクラス名と同じでないといけない」ことです。だから、《Sample.java》とつけてあれば必ず同じものでなければなりません。これは重要です

クラス、メソッド、フィールドで使う、最も制限の緩やかなのが《public》です。《protected》はメソッドやフィールドで使います。《なし》もあります。《private》は最も制限の強いものです。他にもいろいろあります。

main メソッドというのは「アクセス制限が public で、static という修飾子を指定されたメソッドである」ということです。

フィールドというのは、クラスのブロックの中で、「特定のメソッドの中に含まれない場所で宣言された変数」のことです。

2.メソッドの定義について

クラスの中には《フィールド》と《メソッド》があります。《フィールド》は、「クラス独自の値を収めるためにクラス内に用意されている変数」です。《メソッド》は、「そのクラスに用意されている機能、それらを定義するもの」です。

メインメソッド
メインメソッド

《メインメソッド》は、「アプリケーションとして最初に呼び出されるメソッド」として JAVA に用意されているものです。Java のプログラムを実行すると Java 仮想マシンはそのクラスをメモリにロードし、そのクラス内から《main》というメソッドを探してそれを実行するようになっています。

3.Java でデータを記憶するための決まりがある

  1. 順次
  2. 条件分岐
  3. 繰り返し

この3つの基本構造を使えばプログラムを作ることができます。細かいバリエーションはいくつもありますが基本はこの3つです。

4.順次

順次
順次

「順次」とは、「処理A」→「処理B」→「処理C」と、上から順に処理していくプログラム構造です。

プログラムが書かれている順に処理をしていくプログラム構造。コードに記述された処理をひとつずつ順番に処理していく構造です。順番に処理をするって単純なようですが、コンピュータではこうした命令を順番に実行していくことが処理の基本です。

たとえばプログラム中でロボットを動かしていく場合には「進む」という処理を順番に行うことになります。

5.条件分岐

条件分岐
条件分岐

特定の条件のときは A という処理、そうではないときは B という処理をするプログラム構造です。

ava では条件が成り立つ場合には「true」、成り立たない場合には「fales」として表されます。

a= x ? “A” : “B” (xの値が true ならば a は”A” に、fales ならば”B” になる)

6.繰り返し

繰り返し
繰り返し

決まった回数や条件を満たすまで同じ処理を繰り替えすプログラム構造です。繰り返し(反復)は与えられた条件が成り立つ間は、決められた処理を繰り返す構造をいいます。

A である限りは B をする。

反復では、ある条件 A を判断し、その条件が成り立つ限り、処理 A を繰り返すのです。

7.変数

変数とは「箱」のことです。変数があることで、文字や数字などのデータを変数に入れておくことができます。必要な時にいつでも取り出せます。変数にデータを入れることを「代入」といい取り出すことを「参照」といいます。変数には名前を付けることができ「変数名」といいます。

変数を作ることを「変数を宣言する」といいます。変数を宣言するときは入れるデータの種類を指定する必要があります。このデータのことを「データ型」といいます。

8.変数の宣言

では Java のプログラムで変数を宣言してみます。整数のデータ型の変数の宣言のときには「int 型」を使います。Java では、変数というのはあらかじめ「宣言」しておかなければなりません。

1という数字を代入する var という変数名の宣言をします。変数に1という整数を代入してみます。変数を代入するときは「=」を使います。これで1が代入されました。変数に1が代入されているか表示してみます。

文字列や変数の中を参照するには、println メソッドをついます。「I」ではなく「l」であることにご注意ください。プリントラインです。それではコンパイルして実行してみます。

「1」という数字が表示されました。変数の宣言と同時に代入することができます。コンパイルして実行してみます。「1」が表示されました。

変数に使える文字にはルールがあります。アルファベット、数字、アンダースコア(_)、ドルマーク($)が使えます。変数名は、数字から始めることができません。また、アンダースコアやドルマークいがいに記号を使うことができません。

予約語は変数名にはできません。予約語とは「return」「class」「for」「while」など、プログラミング言語ですでに役割が決まっている単語のことです。

9.データ型とは?

データ型とは、変数に入れるデータの種類のことです。

整数系のデータ型は、byte,short,int,long の4つです。これらの違いは数値の範囲に違いがあります。byte は、-100~100の数値を扱うことができます。short は、-3万~ +3万まで。long は「京」の桁以上です。long の場合だけ最後に小文字か大文字の「L」をつけます。

このようなものがあります。

Javaでは、クラスはオブジェクト指向プログラミングの基本的な概念です。クラスは、関連する変数(プロパティ)とメソッド(機能)をまとめるために使用されます。

クラスの定義は以下のように行います:

public class MyClass {
// プロパティ(変数)の宣言
private int myVariable;
// コンストラクタの定義
public MyClass() {
// コンストラクタの中身
myVariable = 0;
}
// メソッドの定義
public void myMethod() {
// メソッドの中身
System.out.println("Hello, World!");
}
}

この例では、MyClassという名前のクラスを定義しています。クラスの名前は任意ですが、一般的にそのクラスが表すオブジェクトの性質や機能を反映する名前を選ぶことが推奨されます。

クラス内には、プロパティとメソッドが含まれています。プロパティはクラス内の変数であり、オブジェクトの状態やデータを表します。例えば、myVariableはMyClassのプロパティであり、整数型の値を保持しています。このプロパティはprivateと宣言されているため、クラス外からは直接アクセスできません。

メソッドは、クラス内の機能や動作を定義します。例えば、myMethodはMyClassのメソッドであり、文字列を出力する単純な処理を行っています。このメソッドはpublicと宣言されているため、クラスの外部からアクセス可能です。

さらに、コンストラクタもクラスの一部です。コンストラクタはクラスのインスタンス(オブジェクト)が作成される際に呼び出される特殊なメソッドであり、オブジェクトの初期化を行います。上記の例では、MyClassのコンストラクタが定義されており、myVariableを0で初期化しています。

クラスの定義が完了したら、他のクラスやメソッドからこのクラスを使用することができます。たとえば、以下のようにしてMyClassのインスタンスを作成し、メソッドを呼び出すことができます:

MyClass myObject = new MyClass();
myObject.myMethod(); // "Hello, World!"と出力される

以上がJavaにおけるクラスの基本的な定義方法です。クラスは、コードの構造化や再利用性を高めるための重要な要素です。

あとがき

Javaは、多くのプログラミング言語の中でも広く使われている人気の高い言語の一つです。Javaの優れた点は

  1. 豊富なライブラリ Javaには、標準ライブラリだけでなく、多くのサードパーティライブラリがあります。これにより、多くの開発者が利用することができ、高度な機能を簡単に実装することができます。
  2. プラットフォームの移植性 Javaは、プラットフォームの移植性が高いため、開発者はプログラムを1つのプラットフォームで書き、他のプラットフォームに移植することができます。これにより、開発者は複数のプラットフォームを対象にしたアプリケーションを効率的に開発することができます。
  3. セキュリティ Javaは、セキュリティ機能が充実しており、様々なセキュリティ問題に対処するための仕組みが提供されています。これにより、Javaを使用して開発されたアプリケーションは、より安全なものになります。
  4. オブジェクト指向プログラミング Javaは、オブジェクト指向プログラミングに適しているため、開発者はより柔軟で再利用性の高いコードを書くことができます。
  5. 大規模なアプリケーションに向いている Javaは、大規模なアプリケーションを開発するための機能が豊富であり、複数の開発者が協力して作業するための機能も充実しています。これにより、Javaは、大規模なアプリケーションの開発に向いています。

このように、Javaには多くの優れた点があります。これらの点がJavaの人気の理由の一部です。

コメント

何なりとお申し付けください。