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

java Java
java

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

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

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

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

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

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

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

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

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

Javaソースコードファイルからクラスを作成するんやで。Javaでは、クラスはプログラムの基本単位なんや。だから、Javaのソースコードファイルにはクラスが定義されてるんや。ほな、簡単な例を見てみようか。

例えば、「HelloWorld」っちゅうクラスを作りたいとするやろ?そしたら、まず「HelloWorld.java」っちゅう名前のファイルを作成するんや。このファイルの中にクラスを書いていくんやで。

このファイルを保存して、次にコンパイルするんや。「コンパイル」っちゅうのは、人間が読めるソースコードをコンピュータが実行できるバイトコードに変換する作業のことやな。ターミナルやコマンドプロンプトで次のコマンドを打ち込むんや:

ほな、「HelloWorld.class」っちゅうファイルが生成されるんや。これがコンパイルされたクラスファイルで、Javaのバーチャルマシン(JVM)で実行できる状態になっとるんやで。

このクラスファイルを実行するには、次のコマンドを打ち込むんや:

これで、「こんにちは、世界!」っちゅうメッセージが表示されるはずや。

要するに、Javaのプログラムを作成するには、まずソースコードファイル(.javaファイル)にクラスを書いて、それをコンパイルしてクラスファイル(.classファイル)を作成してから実行するっちゅう流れになるんや。クラスは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」であるクラスを宣言しています。

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

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

コンストラクタとは?

コンストラクタっちゅうのは、クラスのインスタンス(オブジェクト)を作るときに呼ばれる特別なメソッドやで。オブジェクトを初期化するために使うんや。新しいオブジェクトを作るときに、必要な初期設定をまとめてできる便利なもんやねん。

例えば、車のクラスを考えてみようか。車を作るときに、色とかブランドとかの情報を初めに設定しておきたいよな?そのためにコンストラクタを使うんや。ほな、例を見てみよう。

この例では、Carクラスにコンストラクタが定義されてるやろ?Carオブジェクトを作るときに、色とブランドを設定するためのもんや。このコンストラクタを使って、myCarオブジェクトを初期化してるんやで。

コンストラクタはクラスと同じ名前を持つメソッドで、戻り値はないんや。クラスから新しいオブジェクトを作るときに、自動的に呼ばれるんやで。

要するに、コンストラクタっちゅうのは、オブジェクトを作るときに初期設定をするための特別なメソッドや。便利やから、しっかり覚えときや!

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

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

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

2.JAVA のパスの設定

taka
taka

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

Javaのパスの設定はめっちゃ重要やで!Javaでプログラムを動かそう思たら、Javaのコンパイラ(javac)とかランタイム(java)をちゃんと見つけられるようにしとかんとあかんねん。

例えば、コマンドプロンプトとかターミナルで「javac」や「java」って打ち込んだときに、「そんなコマンド知らんで!」って言われたら、それはパスがちゃんと設定されてへんっちゅうことやな。

パスの設定をせなあかんのは、Javaの実行ファイルがどこにあるかをOSに教えてやるためやねん。それをせんかったら、毎回フルパスを書かんとあかんようになってめっちゃ面倒くさいで。

Windowsやったら、こんな感じで設定する

  1. コントロールパネルを開く
  2. 「システム」→「システムの詳細設定」を選ぶ
  3. 「環境変数」をクリックする
  4. 「システム環境変数」の中の「Path」を見つけて編集する
  5. Javaのインストール先(例: C:\Program Files\Java\jdk-11.0.2\bin)を追加する

MacやLinuxやったら、ターミナルで設定ファイル(.bash_profileとか.zshrcとか)を編集して、こんな感じで書くんや:

これで、ターミナルを再起動するか、設定ファイルを再読み込みして(source ~/.bash_profileとか)、Javaのコマンドがどこからでも使えるようになるんやで。

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.プログラムコードにおける文字の色分け

主にコードの可読性を向上させるために使われるもので、色は通常以下のような要素を表しています。ただし、色の使い方は使用するテキストエディタや統合開発環境(IDE)によって異なる場合があります。

1. 青色

キーワード(Keywords)
  • JAVAの構文上のキーワードや予約語。例:public, class, if, for, newなど。

2.赤色

エラーや警告(Errors and Warnings)
  • コード内で発生する文法エラーや警告メッセージが赤色で表示されることが多いです。
重要なキーワードや注目すべき部分(Important Keywords or Attention Areas)
  • いくつかのエディタでは、特定のキーワードや注意が必要なコード部分を赤色で表示することがあります。
文字列(Strings)
  • 先に挙げたように、環境によっては文字列が赤色で表示されることもあります。

    2. 緑色

    文字列(Strings)
    • ダブルクォーテーションで囲まれた文字列。例:"Hello, World!"など。

    3. 灰色

    コメント(Comments)
    • プログラムの説明やメモとして書かれるもので、実行時には無視される部分。例:// コメント/* 複数行コメント */

    4. 橙色

    定数(Constants)
    • 変数や関数の名前ではない、固定値や特定のシンボル。例:数値リテラル(423.14)や真偽値(truefalse)。

    具体的なコードの例で示してみましょう:

    この例では、publicclassといったキーワードが青色、"Hello, World!"のような文字列が赤色、コメントが緑色、そして定数である数値42が橙色になっていることがわかります。

    色分けはコードの理解とデバッグを助けるために非常に有用です。多くのエディタやIDEは、ユーザーが好みに合わせてカスタマイズできるようになっていますので、自分にとって見やすい色を設定することもできます。

    エディタやIDEによって色の選択は異なりますが、共通の目的はコードの各部分を視覚的に区別しやすくすることです。具体的な色の使い方はツールごとに設定できることが多いので、自分の好みに合わせて調整することが可能です。

    2. はじめの一歩:Hello, World!

    まずは、プログラムの基本「Hello, World!」や。これはプログラムがちゃんと動くか確認するためのもんやな。

    このプログラムを実行すると、「Hello, World! まいど!」って出てくるんやで。

    3. 変数(へんすう)

    変数っちゅうのは、データを保存するためのもんや。大阪弁で言うたら、モノを置く棚みたいなもんやな。

    4. データ型

    JAVAにはいろんなデータ型があるんや。主なもんを紹介するで。

    • int: 整数
    • double: 小数
    • boolean: 真か偽か
    • String: 文字列

    5. if文(条件分岐)

    if文は条件に応じて処理を変えるためのもんや。

    6. ループ(繰り返し)

    ループは同じ処理を何回も繰り返すためのもんや。

    7. 関数(メソッド)

    関数っちゅうのは、何回も使う処理をひとまとめにしておくもんや。

    このプログラムでは、sayHelloっちゅう関数を作って、名前を表示しとるんや。

    8. クラスとオブジェクト

    JAVAのプログラミングの基本は、クラスとオブジェクトや。クラスは設計図、オブジェクトはその実体や。

    これで、「ソース味のたこ焼きを1個食べたで。残り:4個」って出てくるんや。

    2.Javaプログラミングの基本的な要素

    1.変数とデータ型

    Javaでは、変数を使用してデータを格納します。変数はデータ型(int、double、Stringなど)を持ちます。

    2.制御構造

    プログラムの流れを制御するための制御構造があります。これには条件分岐(if文)、繰り返し(forループ、whileループ)、および他の制御構造が含まれます。

    3.メソッド

    メソッドは、特定の動作を実行するためのブロックです。メソッドはクラス内に定義され、再利用可能性とコードの簡潔さを促進します。

    4.クラスとオブジェクト

    Javaはオブジェクト指向プログラミング言語であり、クラスとオブジェクトの概念が重要です。クラスはオブジェクトの設計図であり、オブジェクトはそのクラスのインスタンスです。

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

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

    クラスっちゅうのは、オブジェクト指向プログラミング(OOP)の基本中の基本やで。

    1.クラスは、簡単に言うたら「設計図」

    例えば、車を作るときにいろんな部品がいるやろ?エンジンやらタイヤやら。クラスはその部品の設計図を作る役割を持っとるんや。

    ほらな、こうやってクラスを使うと、車っちゅうオブジェクトを作ることができるんや。大阪弁で言うたら、「車の設計図」を元に「車を作った」っちゅうことやな。で、その車に色とかブランドとかの属性を持たせたり、走るとかの機能を持たせたりできるんや。

    ほんで、同じクラスから色んな車を作ることができるんや。例えば、赤いトヨタも青いホンダも同じ「車」クラスから作られてるわけやな。これがオブジェクト指向プログラミングのええところなんやで。

    1.クラスとオブジェクト

    • プログラムはクラスと呼ばれる設計図から作られたオブジェクトの集合です。
    • クラスは属性(メンバー変数)と振る舞い(メソッド)を持ちます。
    • オブジェクトはクラスから作成されたインスタンスであり、それぞれ独自の状態を持ちます。

    2.変数とデータ型

    • 変数はデータを格納するためのメモリ領域です。変数を宣言するには、データ型と識別子(変数名)が必要です。
    • Javaにはプリミティブ型(int、double、booleanなど)と参照型(String、Arrayなど)のデータ型があります。

    3.条件文とループ

    • 条件文(if、else、switch)を使用して、プログラムの実行フローを制御できます。条件に応じて異なるブロックのコードが実行されます。
    • ループ(for、while)を使用して、同じコードブロックを繰り返し実行できます。

    4.メソッド

    • メソッドはクラス内で宣言されるブロックのコードです。メソッドは特定のタスクを実行するために使用されます。
    • メソッドは引数を受け取り、戻り値を返すことができます。

    5.パッケージとインポート

    • パッケージは関連するクラスをグループ化するための方法です。パッケージはディレクトリのような階層構造を持ち、クラスを整理します。
    • 別のパッケージ内のクラスを使用するには、import 文を使用してクラスをインポートする必要があります。

    6.例外処理

    • 例外は予期せぬエラーの発生時にプログラムの実行を中断することなく処理するために使用されます。
    • try-catch-finally ブロックを使用して例外をキャッチし、適切な処理を実行することができます。

    このようなものです。

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

    taka
    taka

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

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

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

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

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

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

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

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

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

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

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

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

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

    5.順次

    順次
    順次

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

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

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

    6.条件分岐

    条件分岐
    条件分岐

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

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

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

    7.繰り返し

    繰り返し
    繰り返し

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

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

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

    8.変数

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

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

    9.変数の宣言

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

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

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

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

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

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

    データ型とは?

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

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

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

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

    クラスの定義

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

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

    メソッドは、クラス内の機能や動作を定義

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

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

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

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

    あとがき

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

    豊富なライブラリ

    Javaには、標準ライブラリだけでなく、多くのサードパーティライブラリがあります。これにより、多くの開発者が利用することができ、高度な機能を簡単に実装することができます。

    プラットフォームの移植性

    Javaは、プラットフォームの移植性が高いため、開発者はプログラムを1つのプラットフォームで書き、他のプラットフォームに移植することができます。これにより、開発者は複数のプラットフォームを対象にしたアプリケーションを効率的に開発することができます。

    セキュリティ

    Javaは、セキュリティ機能が充実しており、様々なセキュリティ問題に対処するための仕組みが提供されています。これにより、Javaを使用して開発されたアプリケーションは、より安全なものになります。

    オブジェクト指向

    プログラミング Javaは、オブジェクト指向プログラミングに適しているため、開発者はより柔軟で再利用性の高いコードを書くことができます。

    大規模なアプリケーションに向いている Javaは、大規模なアプリケーションを開発するための機能が豊富であり、複数の開発者が協力して作業するための機能も充実しています。これにより、Javaは、大規模なアプリケーションの開発に向いています。

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

      コメント

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