logo

Java の概要

Java は、オブジェクト指向のクラスベースのプログラミング言語です。この言語は、依存関係の実装ができるだけ少なくなるように設計されています。この言語を使用する目的は、開発者があらゆるプラットフォーム用のコードを書くことから解放されることです。 WORA という用語は、一度書いたらどこでも実行できるという言葉でよくこの言語と関連付けられます。これは、Java コードをコンパイルするたびにバイト コード (.class ファイル) を取得し、Java をサポートしていれば、さまざまなプラットフォームで (再度コンパイルすることなく) 実行できることを意味します。 1995年にJava言語が開発されました。主に Web、デスクトップ、モバイル デバイスの開発に使用されます。 Java 言語は、堅牢性、セキュリティー、およびシンプルさの特徴で知られています。これは、実装の依存関係ができるだけ少なくなるように設計されています。

歴史

Java 言語には非常に興味深い歴史があります。グリーン チームとして知られる Patrick Naughton、Mike Sheridan、Jame Gosling は、1991 年に Java の開発を開始しました。これらの人々は、 サン・マイクロシステムズ 。 1996 年に、最初の公開実装が Java 1.0 としてリリースされました。 Java 1.0 のコンパイラは、その仕様に厳密に準拠するように Arthur Van Hoff によって書き直されました。 Java 2 の導入により、新しいバージョンにはさまざまなプラットフォーム向けに構築された複数の異なる構成が含まれています。 James Gosling が Java の父としても知られていることは注目に値します。

ISO 標準化団体は 1997 年に Sun Microsystems から Java を正式化するよう打診されましたが、そのプロセスはすぐに撤回されました。ある時点で、Sun Microsystems は、プロプライエタリ ソフトウェアのステータスを持っていたにもかかわらず、Java 実装のほとんどを無償で提供していました。

アプリケーションプログラム

Java アプリケーションでのアプリケーション プログラムの実装には、次の手順が含まれます。

  1. プログラム作成(コードを書く)
  2. プログラムのコンパイル。
  3. コンパイルされたコードを実行します。

ここで、JDK (Java Development Kit) がシステムに適切にインストールされ、パスも設定されている必要があることに注意してください。

プログラムの作成

Java プログラムは、テキスト エディタ (Notepad++、NotePad、またはその他のエディタでも機能します) または IDE (Eclipse、NetBeans など) を使用して作成できます。

ファイル名: テストクラス.java

 public class TestClass { // main method public static void main(String []args) { // print statement System.out.println('Hello World is my first Java Program.'); } } 

上記のコードを記述し、TestClass という名前でファイルを保存します。ファイルには次のものが含まれている必要があります .java 拡大。

プログラムの編集

コマンド プロンプトを開き、次のように入力します javac TestClass.javaジャバック Java コンパイラを動作させて Java プログラムをコンパイルするコマンドです。コマンドの後に、コンパイルする必要があるファイルの名前を入力する必要があります。私たちの場合、それは テストクラス.java 。入力後、Enterボタンを押してください。すべてがうまくいけば、バイト コードを含む TestClass.class ファイルが生成されます。プログラムに何らかのエラーがある場合、コンパイラはそれを指摘し、 テストクラス.クラス は作成されません。

インターネットを使用して

実行 / プログラムの実行

.class ファイルが作成されたら、次のように入力します。 Java テストクラス プログラムを実行します。プログラムの出力は、後述するコンソールに表示されます。

出力:

 Hello World is my first Java Program. 

ジャワという名前

当初、オークという名前がこの言語に与えられました。しかし、チームはこの言語に新しい名前を付ける必要があると決定し、DNA、革命、Jolt、Dynamic、Silk などの単語が提案されました。これらの名前はどれも言うのが楽しく、綴りやすいものでした。しかし、欠けていたのは、チームが望んでいた、提案された名前に含まれる言語の本質でした。 James Gosling 氏によれば、Java と Silk が最も人気のあるオプションの 2 つであり、Java には固有の名前が付いていたため、ほとんどの人が Java を好んだとのことです。

ジャワは、コーヒー(ジャワコーヒーと呼ばれる)が生産されたインドネシアの島の名前でもあります。 Java という名前は、ジェームズ ゴズリングがオフィスの近くでコーヒーを飲んでいたことから付けられました。読者は、Java が頭字語ではないことに注意してください。それはただの名前です。

Java の用語

JVM (Java 仮想マシン): JVM は、Java バイトコードの実行が行われるランタイム環境を容易にする仕様です。 コマンドを使用するたびに ジャワ、 JVM のインスタンスが作成されます 。 JVM は、メモリ領域、レジスタ セット、クラス ファイル形式、および致命的なエラーのレポートの定義を容易にします。 JVM はプラットフォームに依存することに注意してください。

バイトコード: Java コンパイラが Java コードをコンパイルして .class ファイルまたはバイト コードを生成することは、導入部ですでに説明しました。を使用する必要があります ジャバック Java コンパイラを呼び出すコマンド。

Java 開発キット (JDK): これは、JRE (Java ランタイム環境)、コンパイラ、Java ドキュメント、デバッガなどを含むすべてを含む完全な Java 開発キットです。Java プログラムの作成、コンパイル、実行のために、JDK がコンピュータにインストールされている必要があります。

Java ランタイム環境 (JRE): JRE は JDK の一部です。システムに JRE のみがインストールされている場合、ユーザーはプログラムを実行することしかできません。つまり、 ジャワ コマンドは機能します。 Java プログラムのコンパイルはできなくなります ( ジャバック コマンドは機能しません)。

ガベージコレクター: プログラマは Java のオブジェクトを削除できません。これを行うために、JVM にはガベージ コレクターとして知られるプログラムがあります。ガベージ コレクターは、参照されていないオブジェクトを再収集または削除します。ガベージ コレクターを使用すると、メモリ管理について心配する必要がなくなるため、開発者/プログラマーの作業が楽になります。

クラスパス: 名前が示すように、クラスパスは、Java コンパイラと Java ランタイムがロードする .class ファイルを検索するパスです。多くの組み込みライブラリが JDK によって提供されます。ただし、外部ライブラリを使用したい場合は、そのライブラリをクラスパスに追加する必要があります。

Javaの顕著な特徴

プラットフォームに依存しない: .exe ファイルを直接生成する代わりに、Java コンパイラは Java コードをバイト コードに変換します。このバイト コードは別のプラットフォームで問題なく実行できるため、Java はプラットフォームに依存しない言語になります。バイト コードを実行するには、プラットフォームに依存する JVM をシステムにインストールする必要があることに注意してください。

オブジェクト指向プログラミング言語: オブジェクト指向プログラミングの概念は、オブジェクトとクラスの概念に基づいています。また、オブジェクト指向プログラミングにはいくつかの特質があります。そのうちのいくつかを以下に挙げます。

  • 抽象化
  • 継承
  • ポリモーフィズム
  • カプセル化

Java 言語では、クラスとオブジェクトの概念も広範囲に使用されています。また、上記の機能はすべて Java に含まれているため、Java はオブジェクト指向プログラミング言語になります。 Java はオブジェクト指向プログラミング言語ですが、100% オブジェクト指向ではないことに注意してください。

単純: Java は、ポインター、多重継承、明示的なメモリー割り当て、演算子のオーバーロードの概念がないため、単純な言語とみなされます。

屈強:

Java 言語は非常に堅牢です。堅牢とは、信頼できるという意味です。 Java 言語は、多くのエラー チェックができるだけ早い段階で行われるように開発されています。このため、この言語では、他のプログラミング言語では識別するのが難しいエラーを識別できます。例外処理、ガベージ コレクション、メモリ割り当ては、Java を堅牢にする機能です。

安全な: バッファ オーバーフローやスタック破損など、Java 言語では悪用できないエラーがいくつかあります。 Java 言語にはポインタがないことがわかっています。したがって、範囲外の配列にアクセスすることはできません。誰かがそうしようとすると、ArrayIndexOutofBound 例外が発生します。また、Java プログラムの実行はオペレーティング システムから完全に独立した環境で行われるため、この言語はさらに安全になります。

配布: 分散アプリケーションは Java 言語を使用して作成できます。 Enterprise Java Bean とリモート メソッド呼び出しは、分散アプリケーションの作成に使用されます。 Java プログラムの配布は、インターネットを使用して相互に接続されている 1 つ以上のシステム間で簡単に行うことができます。

マルチスレッド: Java 言語はマルチスレッドをサポートしています。マルチスレッド機能は、プログラムの 2 つ以上の部分の同時実行をサポートします。したがって、CPU の使用率が最大化されます。

携帯性: Java がプラットフォームに依存しない言語であることはわかっています。したがって、あるシステムで生成されたバイト コードを他のプラットフォームで実行して実行できるため、Java は移植可能になります。

ハイレベルなパフォーマンス: Java のアーキテクチャは、実行時のオーバーヘッドが軽減されるような方法で作成されています。場合によっては、Java はコードがデマンドベースでコンパイルされるときに JIT (Just In Time) コンパイラーを使用します。この場合、コンパイラーは呼び出されたメソッドのみをコンパイルするため、アプリケーションの実行が高速になります。

動的な柔軟性: Java 言語はオブジェクト指向プログラミング パラダイムに従っており、既存のクラスに新しいメソッドやクラスを自由に追加できます。 Java 言語は、C/C++ 言語で言及され、一般にネイティブ メソッドと呼ばれる関数もサポートします。

サンドボックスの実行: Java プログラムが異なる環境で実行されることは既知の事実であり、ユーザーはバイトコード ベリファイアを使用して基盤となるシステムに影響を与えることなく独自のアプリケーションを自由に実行できます。バイトコード検証ツールは、コードにアクセス違反がないかチェックするため、セキュリティも強化されます。

一度書いたらどこでも実行可能: Java コードはコンパイラによってコンパイルされ、マシン アーキテクチャから完全に独立した .class ファイルまたはバイト コードが取得されます。

コンパイルおよび解釈された言語: ほとんどの言語はインタープリタ言語またはコンパイル言語のいずれかです。ただし、Java 言語の場合は、インタープリタ言語と同様にコンパイルも行われます。 Java コードがコンパイルされてバイトコードが取得され、そのバイトコードがソフトウェア ベースのインタープリタによって解釈されます。

Java 上のいくつかのプログラム

いくつかの基本的な Java プログラムを以下に示します。

プログラム - 1

ファイル名: デモクラス.java

 // Importing different classes import java.io.*; // Main class public class DemoClass { // main method public static void main(String argvs[]) { System.out.println('Welcome to javaTpoint.'); } } 

出力:

 Welcome to javaTpoint. 

プログラム - 2

Linuxでディレクトリの名前を変更する

ファイル名: 追加Mul.java

 // Computing the sum and product of the two numbers public class AddMul { // main method public static void main(String argvs[]) { int a1; int a2; int add = 0; int prod = 0; a1 = 12; a2 = 14; add = a1 + a2; // addition prod = a1 * a2; // multiplication System.out.println('Sum = ' + add); System.out.println('Product = ' + prod); } } 

出力:

 Sum = 26 Product = 168 

プログラム - 3

ファイル名: ComputeAv.java

 // A Java program to allow the user to input two numbers from the user and compute its average. import java.util.*; public class ComputeAv { // main method public static void main(String argvs[]) { double a1; double b1; double sum1 = 0; double avg1 = 0; Scanner scnr = new Scanner(System.in); System.out.println('Input the First Number: '); a1 = scnr.nextDouble(); System.out.println('Input the Second Number: '); b1 = scnr.nextDouble(); sum1 = a1 + b1; // computing the sum avg1 = sum1 / 2; // computing the average System.out.println('Average = ' + avg1); } } 

出力:

 Input the First Number: 4 Input the Second Number: 5 Average = 4.5 

プログラム - 4

ファイル名: 華氏摂氏.java

 // A Java program that converts Celsius to Fahrenheit using formula // Fahrenheit = ((Celsius / 5) x 9 ) + 32 // import statement for taking input import java.util.Scanner; public class FahrenheitCelsius { // main method public static void main(String argvs[]) { double cel, far; Scanner scnr = new Scanner(System.in); System.out.println('Input the temperature in Celsius: '); cel = scnr.nextDouble(); far = ((cel / 5.0) * 9.0) + 32; System.out.println('Temperature in Fahrenheit is: ' + far); } } 

出力:

 Input the temperature in Celsius: 15 Temperature in Fahrenheit is: 59.0 

プログラム - 5

ローマ数字 1 から 100

ファイル名: TriangleArea.java

 // A Java program for computing the triangle's area using its three sides // using heron's formula. import java.util.Scanner; public class TriangleArea { // main method public static void main(String[] argvs) { int s1, s2, s3; double halfPeri, ar; Scanner scnr = new Scanner(System.in); System.out.print('Enter the value of triangle's three sides:'); // taking user inputs s1 = scnr.nextInt(); s2 = scnr.nextInt(); s3 = scnr.nextInt(); // computing half perimeter halfPeri = (s1 + s2 + s3) / 2; // computing area of the triangle ar = Math.sqrt(halfPeri * (halfPeri - s1) * (halfPeri - s2) * (halfPeri - s3)); System.err.println('Triangles Area: ' + ar); } } 

出力:

 Enter the value of triangle's three sides: 15 16 17 Triangles Area: 109.98181667894016 

上記プログラムで使用される各種キーワードの説明

//: これは、コードを読みやすくするためにコードにコメントを挿入するために使用されます。コンパイラは、プログラムのコンパイル中にコメントを完全に無視します。複数行のコメントの場合は、/* … */ を使用します。

main() メソッド: 実行が開始されるプログラムの最も重要なメソッド。したがって、すべてのロジックは main メソッド内に存在する必要があります。 main() メソッドにロジックが含まれていない場合は、他のメソッドにロジックが含まれますが、そのメソッドは main() メソッドから直接または間接的に呼び出す必要があります。

クラス: キーワード class は、Java 言語でクラスを宣言するために使用されます。

空所: これは、関数またはメソッドが何も返さないことを意味します。

System.out.println(): ステートメントやパターンなどをコンソールに出力するために使用されます。

文字列 argvs[]: これは、入力を受け取るために使用されるコマンド ライン引数です。

公共: これはアクセス指定子のキーワードです。これがメソッドに適用されると、そのメソッドはすべてのユーザーに表示されます。他のアクセス指定子のキーワードは、private、protected、default です。

java.io.* をインポートします: これは、パッケージ内に存在するすべてのクラスを意味します。 java.io 輸入されています。 java.io パッケージは、ファイルへのデータの書き込みと読み取りのための出力ストリームと入力ストリームを容易にします。 * はすべてを意味します。特定のクラスのみをインポートしたい場合は、* をクラスの名前に置き換えます。

システムイン: これは、入力を与えるデバイス (この場合は通常はキーボード) から文字を読み取るために利用される入力ストリームです。

静的ボイドメイン(): static キーワードは、クラスのインスタンス化を行わずにメソッドにアクセスできることを示します。

システム出力: System.in は文字を読み取るために使用され、System.out はプログラムの結果をコンピューター画面などの出力デバイスに表示するために使用されます。

倍精度、整数: さまざまなデータ型 (整数の場合は int、double の場合は double)。他のデータ型には、char、boolean、float などがあります。

println(): このメソッドはコンソールにテキストを表示します。このメソッドはテキストを画面に出力し、次の行に移動します。次の行では ln が使用されます。カーソルを次の行に移動したくない場合は、メソッド print() を使用します。