どーもー、現在某IT系の会社でjavaエンジニアとして働ている者です。(当ブログの管理人です)
今回は、javaについて、これから学習を始めようと思っている初心者の方々向けに、なるべく分かりやすく解説をしていこうと思います。
「なぜ、javaは世界中で高いシェアを誇り、人気を持っているのか」
実際、プログラミング言語というのは、数多くのものが存在していますが、
その中でも、昔から高い人気を維持し続け、毎年、必ずTOP3には入っているのが「java」になります。
参考:JetBrains公式HP:プログラミング言語のランキング 2020年度版
上図は、JetBrains社が調査した「開発者が利用・採用しているプログラミング言語のランキング」の2020年度の結果で、javaは第2位となっています。
また、javaを提供しているオラクル社によると、2016年の段階で、900万人以上の開発者がいるとレポートされており、
2019年には、全世界の3億のコンピュータデバイスでJava実行環境が動作しているとしています。
当然、求人数も非常に多く、以下、ITエンジニアに特化した求人サイトのレバテックのレポートでは、「プログラミング言語別求人案件数(2019年度)」で、断トツの1位となっています。
参考:レバテック公式:プログラミング言語別求人案件ランキング(2020年度版)
このように、開発シーン・利用シーンともに、最も人気なプログラミング言語として、javaは確立されています。
とはいえ、
「具体的にどんな特徴、メリット・デメリットをもっているの?」
これらについて、よく理解していない方も多いと思います。というわけで今回は、これらについて順に解説していこうと思います。
以下、目次。
- javaの誕生と歴史について
- javaで、できること。~利用シーンについて
- 特徴 ~メリット・デメリットについて
- java入門 ~インストールから、プログラムが動作するまでの基本的な流れについて
javaとは? ~言語の誕生と歴史について解説します
まずは、javaがどのように誕生し、どのような歴史を辿ってきたのかを、まとめていきたいと思います。
javaの誕生は、1990年にまで遡(さかのぼ)ります。
当時、アメリカのサン・マイクロシステムズ社によって、新しいプログラミング言語の開発プロジェクトがスタートしました。
当初は、「C++(シー・プラスプラス)」を拡張することで、開発が進んでいたようですが、それだと、「ハードウエアに依存してしまう、、」という問題がありました。
そのため、「C++」を参考にしつつも、単純に拡張することは止めて、全くの新しいプログラミング言語として、javaは誕生しました。
さらに、java専用の動作環境(実行マシン)も、並行して開発したことで、「ハードウエアに依存してしまう、、」という課題も、見事クリアされました。
※javaの最も重要な特徴として、プログラムを変更しなくても、java専用の動作環境(実行マシン)さえ、インストールすれば、ハードウエアに依存せずに実行が可能。という特徴があります。
要は同じプログラムで、Windows上でも、Mac上でも、Linux上でも、スマホ(アンドロイド)上でも、同じように動作する。といった形です。
こうして、プロジェクト発足の5年後・・・1995年に、javaのベータ版がリリースされ、翌年には、「JDK 1.0(Java Development Kit)」として、正式版のバージョン1がリリースされました。
ちなみに、バージョン1のリリース時に開催された「JavaOneカンファレンス」では、6千人の聴衆が集まり、さらに、Netscape社から始まったユーザの広がりが、Microsoft、Apple、IBMと、世界100社以上に広がっていきました。
当初から、非常に注目をされたプログラミング言語だったんですね。
その後、javaの人気はものすごい勢いで上がっていき、2000年代に突入してからは、トップを走り続けています(以下参考)
参考:TIOBE Software:年次別プログラミング言語人気ランキング
- バージョン3:「J2SE 1.3(リリース時のネーミング)」:2000/5/8
- バージョン4:「J2SE 1.4」:2002/2/6
- バージョン5:「J2SE 5.0」:2004/9/30
- バージョン6:「Java SE 6」:2006/12/11
その後、2010年にサン・マイクロシステムズ社が、オラクル社に吸収合併された事によって、Javaの管理(ライセンス等)もオラクル社に移行されます。
そして、現在(2021/12)では、バージョンの17までリリースされており、長い間にかけて進化し続け、冒頭の通り、世界中で高いシェアを誇る人気言語となっています。
これからも、まだまだバージョンアップとともに進化していくでしょう。
※さらに詳細な、javaの歴史については、以下(wiki)にてまとめられているので、興味のある方は確認してみてください。
ちなみに、
「java」という名前ですが、当初もともとは、「Oak(オーク)」という名前だったのが、他の会社によって既に商標登録されていたので、「java」になったそうです。
名前の由来については、諸説あり、定かになってはないですが、
- Javaの開発に携わった3人のメインとなるエンジニア(James Gosling、Arthur Van Hoff、Andy Bechtolsheim)の頭文字をとって付けられた。
- 開発者たちが、プログラミング言語の名前を決めている間、コーヒーを飲んでおり、そこから「java」という名前が付けられた(アメリカでは、コーヒー(coffee)について、ジャワ(java)という俗称がある。)
- 当時、エンジニアが通っていたカフェの名前
ちなみに蛇足ですが、「JavaScript」という有名な言語もありますが、こちらはJavaとは全く関係はありません。
開発シーンから、利用シーンまで、全くの別物となります。
Javaは、業務システムからWebサイト(サーバーサイド)、Androidアプリまで幅広く開発に利用されていますが、
JavaScriptは、Webブラウザ上で動作する言語であり、文字の色を変えたり、ポップアップの表示をさせたりと、動きのあるWebページの開発に使われることが多い言語となります。
もともと、JavaScriptは「LiveScript」という名前でしたが、当時、javaが発表されたばかりで、世界中のエンジニアから注目を浴びていたので、その人気に便乗して「javascript」という名前に変更したようです。
javaとは何か? ~javaでできること(利用シーンについて)
続いて、javaでできること。どのようなシステムやサービス、アプリで利用されているのか。身近な利用シーンを元にまとめていきたいと思います。
冒頭でも述べた通り、javaは全世界の3億のコンピュータデバイスで動作していると、されています。
当然、身の回りの様々なものにも利用されており、
-
「Webアプリ・Webサイト」
javaは、多くの大手IT企業にて採用されているプログラミング言語で、
GoogleやAmazonをはじめ、Twitter、ebay、楽天、Yahoo、Github、Lineなど、世界的に有名な企業でも採用されています。
これは、javaの特性上、大規模なシステムに最適なプログラミング言語であり、それが重要な理由の一つとなっているからです。
(javaは、他の言語と比較して、パフォーマンスやセキュリティのレベルが高く、だからこそ、数千万・数億といったアクセスがあるような大規模なシステムには、向いている言語とされています。)例えば、多くのアクセスが集中するツイッター社が、2012年頃に、システムをRubyからJavaへ移行した話は、有名なエピソードの一つとなります。
参考:InfoQ:RubyからJavaへのシフトで大統領選を乗り切った、Twitter社
また、上記のように大規模なサービス・システムでなくても、一般的なWebサイトの、サーバー側(バックエンド)のプログラムも、javaが採用されていることは多いです。
(比較的に小規模・中規模なサイトでは、PHPやRUBYが採用されている事も多いですが。。)
-
「スマホアプリ(Androidアプリ)」
Androidの開発に用いられるプログラミング言語は、大きく2択となります。(iPhoneは、また別です)
・Java or Kotlin
Androidのスマホが世に出てから、2010年代の後半までは、Java一択でしたが、
2017年にGoogleが、KotlinをAndroidアプリの開発言語として推奨したことをキッカケに、近年では、Kotlinの採用が増えているようです。とはいえ、これまでにJavaで開発されてきたアプリが数多く、それらの保守の観点からも需要は続くでしょうし、
今後も、一般的な人気言語としてJavaが採用されることも多いでしょう。Kotlin については、言語が公開されたのが、2011年ということで、まだまだ新しいモダンなプログラミング言語になりますが、Kotlinは、Javaを元にして作られています。
実行する際も、Javaを実行する際の仮想マシンと同じものでないと動作しません。つまり、Javaと100%の互換性がある。ということになります。
GoogleがAndroidアプリ開発用に提供している「Android Studio」では、JavaのソースコードをKotlinに変換することも可能となっているようです。
-
「業務システム」
多くの企業の業務システムに採用されているというのも、Javaの特徴の一つです。
例えば、金融系の取引・決済システムであったり、配送会社の配送システム、航空会社のチケット予約システム等々、多くの業務システムにjavaが採用されています。
もともと、銀行など金融系のシステムでは、「COBOL」というプログラミング言語が主流でしたが、保守コストの高さやCOBOLエンジニアの減少に伴い、現在ではjavaが主流となっています。
日本銀行や、メガバンクの三菱UFJ・三井住友銀行でも、2000年代の頃から、javaによるシステム刷新を始めています。
さらに、世界50億枚以上のクレジットカードが、Javaによる決済処理を採用しているとのこと。
このように、金融系のシステムとjavaは非常に相性が良く、それは以下、JetBrains社が調査した統計結果からも知ることができます。
「Javaが利用されている業界ランキング」
参考:IntelliJ IDEA Blog:数字で見る、2020年におけるJavaの現状
これらは、高いパフォーマンスと安全性を必要とする金融系システムの開発ニーズが、「java」の特性とマッチしていることを表しています。
-
「ゲーム」
あまり一般的には認識されてませんが、Javaはゲーム開発にも利用されており、代表的なものだと「Minecraft」は、Javaで開発されているようです。
-
「組み込みシステム」
こちらも、あまり一般的ではないですが、ブルーレイ・プレーヤーや、カー・ナビゲーションの他、家電の組み込みシステムにも、Javaが採用されています。
以上、javaでできることとして、利用シーンとともにまとめてきました。
以下についても、良かったらぜひ参考にしてみてください。
→ Java言語でできること(用途事例)と、学習するメリット:8選 ~初心者向けのまとめです
javaの特徴 ~メリット・デメリットをわかりやすく解説します。
続いて、javaの特徴として、メリット・デメリットを以下にまとめていきたいと思います。
javaのメリットまとめ:7選
-
「ハードウェアに依存しない」
こちら、Javaの最大の特徴・メリットとなるポイントで、Javaで書いたプログラムは、どのハードウェア上でも同じように動作させることが可能です。
例えば、Windowsや、Mac、Android と、ハードウェアが違う場合は、機械語(ハードウェアが認識できる言語)がそれぞれ違うので、プログラミング言語についても、それぞれのハードウェアに合わせて、変更する必要があります。
(以下、豆知識です)
※Javaを含め、プログラミング言語で書かれたプログラムは、そのままの状態では、PC上(ハードウェア上)で、動作させることはできません。
動作させる前に、プログラムを、機械語(マシン語)に変換させることで、ようやくPCが認識できるプログラムとなって、動作させることが可能となるのです。
ですが、この課題をクリアしたのが、Javaなのです。
Javaは、Javaで書かれたプログラムを、専用の仮想マシン(JVMというソフトウェア)上で動作させることで、どのハードウェア上でも、プログラムの変更を必要とせずに同じ挙動を実現できるわけです。
要は、「JVM」をインストールさえすれば、Windowsでも、Macでも、Androidでも、同じように動作させることができるわけですね。
このように、一度プログラムを作成すれば、どこでも実行できることを、「write once, run anywhere(一度書けば、どこでも実行できる)」と呼び、Javaの最も重要な特徴となっています。
-
「オブジェクト指向言語である」
プログラミング言語は、大きく以下2つに切り分けることができます。
・手続き型言語 : C言語、COBOLなど
・オブジェクト指向言語 : Java、PHP、Ruby、Pythonなど
上記の通り、Javaは、代表的なオブジェクト指向言語の一つです。
オブジェクト指向とは・・・プログラミングする上での手法(考え方)で、
簡単に言うと、システムを構成する膨大なプログラムを、「とある役割を持った部品(オブジェクト(又はクラス)と呼ぶ)」単位で分割していき、
それらの部品と部品の関係性を定義していくことで、システム(プログラム)を構築していく。
というプログラミングしていく上での考え方の事です。要は、多数の部品(オブジェクト)の集合体が、一つのシステム(プログラム)として構成されている。といったイメージですね。
とはいえ、専門的な話になるので、初心者の方は、今後プログラミングをしていく過程の中で、理解していけば良い内容となります。
(Javaのプログラミングを学んでいけば、嫌でも通る道となります。)
逆に、「手続き型言語」というのは、プログラムが動作する内容を、一から順々に(上から下へ流れるように)書いていくプログラミング手法となります。
それぞれ、メリット・デメリットがありますが、
オブジェクト指向言語は、プログラムが各部品ごとに構成されているので、バグ(不具合)の特定や、その修正であったり、部品を再利用したりと、プログラムの「開発効率」や「保守性」が高い特徴があります。
逆に、部品ごとに細かく分けているせいで、大規模なシステムだと、プログラムの全体像を把握するのに時間が掛かったりする(手続き型言語に比べて)。といったデメリットもあります。
手続き型言語は、プログラムを上から下まで順に確認していけば、その部分の機能については理解できるので。。。理解のしやすさで言えば、手続き型言語の方が上でしょう。
-
「実行速度が速くパフォーマンスが高い」
上述で記載してきた通り、Javaは、大規模なシステムや、膨大なアクセスを捌くようなシステムに向いています。
その理由の一つが、Javaは、コンパイル言語であること。
※コンパイルとは・・・JavaやC言語などで書かれたプログラムを、事前に、機械語に変換する事を意味します。※インタプリタとは・・・コンパイルは、実行前に事前に機械語に変換しますが、インタプリタは、実行と同時に機械語への変換をおこないます。
そのため、実行速度が、コンパイル言語よりも遅くなるデメリットがあります。ちなみに、RubyやPHP、Python等は、インタプリタ言語のため、Java(コンパイル言語)よりも、パフォーマンスは低くなってしまいます。
ただし、インタプリタ言語は実行前のコンパイル作業がいらないので、開発者の手間が減る。というメリットはあります。
あとは、プログラミング言語は、「静的な型付け言語(CやJavaなど)」と「動的な型付け言語(RubyやPHP、Python等)」の2つに分けることができますが、
Javaは、「静的な型付け言語」であり、これについても、パフォーマンスが高い理由の一つになっています。
(「静的or動的な型付け言語」については、プログラミングの具体的な話になってくるので、ここでは説明を割愛しますが、興味のある方は、ググってみてください。) -
「セキュリティが高い」
こちらも、Javaの特徴の一つで、実行前にコンパイルが必要な言語であることや、
仮想マシン(JVM)上での実行が必要な事などから、セキュリティ性が高いプログラミング言語となっています。
-
「ソース(書籍やネット上のページ等)が多い」
冒頭で書いた通り、Javaは、多数あるプログラム言語の中でも、非常に人気のある言語で、その分、書籍やWebページなどのソースも非常に多いです。
当然、日本でも同じです。(プログラミン言語によっては、日本語でのWebページがほとんどなく、英語のページばかり。。。なんて事もあります。)
勉強過程や開発過程にて、何かしら困ったことがあったとしても、ネット上を探せば、まず間違いなく解決方法が見つかるでしょう。
(よっぽど専門的な内容だったり、情報が少ない最新技術に関するもの等でなければ。。。あとは、情報の探し方(ググり方)も、大事になってきますが。)なので、情報が多い分、一から勉強していくことには向いている言語です。
-
「公式(or外部の)ライブラリが充実している」
これも、多くの企業がJavaを採用する理由の一つです。
Javaには、公式のライブラリ(オラクルが提供)を含め、多くの外部ライブラリがフリーで公開されています。
おそらく、公開されているライブラリの数でいえば、TOP1でしょう。
他の言語で実現できることは、まずJavaでも実現できる。と思って、問題ないです。
-
「求人数が多い」
「プログラミング言語別求人案件数(2019年度)」
こちらは、冒頭でも紹介していますが、求人サイト:レバテックのレポートでは、上図の通り、断トツの1位となっています。
またこれらは、ここ最近の話ではなく、2000年代の頃からずっと長い間にかけて人気の高さは維持しており、それに比例して求人(仕事)数も増え続けています。
今後についても安定した需要が続くでしょう。
このように、求人数の多さからも、Javaを学んでいくことは、賢い選択と言っても良いと思います。
以上、Javaの特徴として、7つのメリットをまとめてきました。
続いて・・
javaのデメリットまとめ:2選
-
「学習コストが高い」
Javaは、他のプログラミング言語よりも、プログラミングをする上でのルールや制約が多いです。(「静的型付け言語」であることも、その一つです。)
なので、その分覚えることが多く、他の言語と比較したら、習得する際の難易度は高い方になるでしょう。(特に、初心者の方は。)
上述で書いている、Javaの特徴である「オブジェクト指向」。
これについても、オブジェクト指向に関連する機能や文法が、Javaには多数あるので、それらを理解するのにも時間が掛かってしまいます。
私もそうですが、多くのJavaを経験したエンジニアが、ルールや制約があるからこそ、また、オブジェクト指向的な記述によって、プログラムの保守がしやすくなり、Javaを好む。といった方は、業界にはかなり多いとは思っています。
一度、理解さえしてしまえば。
また、プログラムの記述内容が、どうしても冗長になってしまうのも、Javaの特徴です。
例えば、「他の言語だと、1行で書けるのに、Javaだと、4行は書かないといけない」とか、、
-
「実行環境の準備や、実行させるまでが面倒。。。」
上述で記載してきた通り、Javaは大規模なシステム開発には向いているのですが、逆に、小規模なシステム開発(特にWebシステム)には、あまり向いていません。。
例えば、簡単なWebサイトを作りたい。。とかであれば、PHPやRUBYの方が、手軽に作成できます。
Javaの場合だと、
1、「.java」の開発(サーバーサイド側)
2、jspなどのテンプレートエンジンを利用した、Webページの作成(クライアントサイド側)
3、コンパイル&ビルド作業
4、パッケージング作業
5、デプロイ作業(パッケージングしたファイルを、Tomcatなどのサーブレットコンテナ上に配置して、実行)ここまでして、ようやくWebサイトが公開されます。
(各作業内容については、理解していなくても大丈夫です・・・要は面倒くさいって事です)逆に、PHPの場合だと、
1、「.php」の開発(HTMLと一緒に記述できるので、サーバー&クライアントを兼用)
2、デプロイ作業(apacheなどのWebサーバ上にアップして、実行)たったこれだけの作業で、Webサイトを公開することができます(Javaと比較すると、違いは明白ですね。)
このように、Javaは、「簡単なWebサイトを作りたいだけ」といった、小規模なシステム開発には、向いていません。。
以上、Javaのデメリットまとめでした。
Java入門 ~javaのインストールから、プログラムが動作するまでの基本的な流れ
最後に、Javaをダウンロード&インストールして、サンプルのJavaプログラムを動作させるまでの手順について、以下にまとめてみました。
-
「まず初めに・・・」
ダウンロード&インストール作業を進めていく前に、2つほど注意点がありまして、
Javaをダウンロードする際、Web上(ダウンロードページ等)には、様々な似たような用語が出てきます。
「Java SE」「JDK」「JRE」「JVM」などなど。。最初はこれらの用語で混乱するかと思いますが、Javaを開発していくのに必要なのは「JDK」となります。
JDK とは、「Java Development Kit」の略で、Javaプログラムを開発・実行(コンパイラやデバッカー含め)するのに必要なものが、全て入っているソフトウェアとなります。
(以下のようなイメージになります。)
JDK = JRE+JVM+API(Java SE)+コンパイラ&デバッカー※JDK = Java SE として記載されている事も多い。
各用語の詳細については、以下にて解説しています。
→ Java SEとは?EE、MEとの違いや、JDK、JRE、JVMについて初心者向けに解説します
あとは、この「JDK」についてですが、現在では様々な会社がJDKを提供をしています。
本家(公式)のOracleだけでなく、AmazonやMicrosoft、RedHatや、IBMなどなど。。複数種類のJDKが世には存在しますが、
とりあえず、勉強目的であったり、個人的な開発目的であれば、公式の「Oracle JDK」or「Oracle OpenJDK」をダウンロードしておけば問題ないです。
※今回は、「Oracle OpenJDK」をダウンロードしていく手順となります。
-
「Java(JDK)のダウンロード&インストール」
では、Javaの開発キットである「JDK」をPCにダウンロード&インストールしていきます。
※今回は、WindowsのPCにインストールしていきます。
まずは、以下の「Oracle OpenJDK」公式ページにアクセスしてください。
・Oracle OpenJDK 公式HP:ダウンロードページ
特にバージョンの指定がなければ、「Ready for use」のJDKで良いでしょう。
バージョンの指定があれば、「Reference implementations」にて、選択してください。
今回は、WindowsのPCにインストールするので、「Windows/x64」の「zip」を選択して、ダウンロードします。
上図の通り、zipファイルがダウンロードできたら、解凍してください。
今回は、「C:\java」の配下に、解凍したフォルダを配置しています。(場所はどこでも良いです)
javaのインストールはこれで完了です。
※ちなみに今回は、環境変数(PATHやJAVA_HOME)の設定はしていません(設定しなくても特に問題は無いので。)ただし、(コマンドプロンプト等で)javaコマンドにて、コンパイルや実行などを繰り返しおこなうような方は、設定しておいた方が便利でしょう。
(「java 環境変数 設定」等でググれば、多くの手順解説ページがヒットします。)
-
「開発環境のダウンロード&インストール」
通常であれば、Javaの開発環境も一緒にインストールしますが、
今回はサンプルプログラムを動作させるだけなので、開発環境は利用せず、普通のエディター(メモ帳やサクラエディタ等)で対応していきます。ちなみに、javaの開発環境は、一般的には以下の2つが有名です。(個人的には、Eclipseがオススメです。会社の業務でもEclipseを利用しています。)
「Eclipse」
「IntelliJ IDEA」「IntelliJ IDEA」は、無料プランだと、Javaのサーバーサイドの開発には向いていないようなので、
Webアプリケーション(サーバーサイド)を開発したい場合には、やはり「Eclipse」がオススメのようですね。(以下、参考)参考:JetBrains公式HP:IntelliJ IDEAのプラン比較ページ
Eclipseのインストール&利用手順については、以下にてまとめているので、ぜひ参考にしてください。 -
「プログラムの作成」
javaのインストールが終わったら、プログラムを作成していきます。
※今回は、「メモ帳」などのエディタで作成する手順となります。
まずは、以下の通り、拡張子:「.java」のファイルを作成してください。
※ファイル名の「Sample1」の部分は、何でも良いです。
以下が、ファイルの中身(javaプログラムのサンプル)になります。
public class Sample1 { public static void main(String[] args) { System.out.println("java-sample1"); } }
プログラムの内容は、”java-sample1″ と表示させるだけのプログラムですが、詳細な解説についてはココでは割愛します。
-
「プログラムをコンパイルする」
プログラムファイル(.java)の作成ができたら、次はコンパイルという作業をして、クラスファイル(.class)を新たに作成します。
※コンパイルとは・・・javaで記載されたプログラムを、PCが理解できる(実行可能な)「機械語」に変換する作業のことを言います。※上記の通り、「.java」のままだと、プログラムを実行することができないので、「.class」ファイルに変換することで、実行させることができます。
コンパイルする手順は、
コマンドプロンプトで、先ほどインストールした「jdk」の「bin」ディレクトリに移動して、「javac」コマンドで、上記にて作成した「.java」を指定して実行します。(以下、例)
C:\java\openjdk-17.0.1_windows-x64_bin\jdk-17.0.1\bin>javac C:\Users\kamat\Desktop\Sample1.java
※「javac」・・・javaプログラムをコンパイルするコマンドになります。
コンパイルが正常に終わると、「.java」が存在するパスに「.class」が新規に作成されます。
-
「プログラムを実行する」
コンパイルまで終われば、あとは実行するだけです。
上記のコンパイル手順と同様に、コマンドプロンプトで実行していきます。
先ほどインストールした「jdk」の「bin」ディレクトリに移動して、「java」コマンドで実行します。
C:\java\openjdk-17.0.1_windows-x64_bin\jdk-17.0.1\bin>java Sample1
Picked up JAVA_TOOL_OPTIONS: -Djava.net.preferIPv4Stack=true
エラー: メイン・クラスSample1を検出およびロードできませんでした
原因: java.lang.ClassNotFoundException: Sample1「java」コマンドで実行しましたが、エラーが出ていますね。。
エラーの内容から、作成した、Sample1のクラスが正常に呼び出せていないようです。
これ、初心者の方はミスしがちなエラーなので、今回紹介していきますが、原因としては、クラスパスを指定してないからです。
※クラスパスとは・・・「.class」ファイルがあるディレクトリパスのこと。
以下が、正しくクラスパスを指定して、正常に実行された例です。
C:\java\openjdk-17.0.1_windows-x64_bin\jdk-17.0.1\bin>java -classpath C:\Users\xxx\Desktop Sample1
Picked up JAVA_TOOL_OPTIONS: -Djava.net.preferIPv4Stack=true
java-sample1上記の通り、-classpathオプションで、パスを指定します。
今回は、「Sample1.class」は、デスクトップ上に置いているので、デスクトップのパスを指定してるわけですね。実行結果をみても、ちゃんと、”java-sample1″ がコンソールに表示されていることも分かります。
(その上の ”Picked up JAVA_TOOL_OPTIONS” については、デフォルトで毎回表示されるようになっていますが、特に気にしなくて良いです。)
ちなみに、-classpath の、デフォルト値は、JDKのbinフォルダになります(以下)
C:\java\openjdk-17.0.1_windows-x64_bin\jdk-17.0.1\binなので、binフォルダに、「Sample1.class」を置いておけば、-classpathオプションを指定しなくても、問題なく実行されます。
-
「最後に・・・補足です」
今回、上述の通り、「5」と「6」にて、javaプログラムのコンパイルと実行手順を解説してきましたが、
今回はあくまで、コンソール(コマンドプロンプト)でのやり方です。
開発環境(Eclipseなど)を利用すれば、コンパイルは、「.java」ファイルの保存時に、自動的にやってくれますし、実行についても、ボタン一つで実行してくれます。
なので、javaのプログラミングをガッツリやっていく場合は、間違いなく開発環境を利用した方が、効率的にプログラミングを進めていけるので、そこは認識しておいてください。
以上、javaのダウンロード&インストールから、プログラムが動作するまでの基本的な流れについての、まとめでした。
ということで、ここまでJavaについての基本的な内容について順に解説してきました。
今後、Javaについて学ぼうと思っている方。また、すでに学び始めている方。
そんな方々にとって、参考になれば幸いです。