Javaエディション(環境)
-
JavaSE(Java Platform, StandardEdition)
- JavaSEはJavaアプリを動作させるための基本的な実行/開発環境を提供
- 文字列/数値、日付の操作、入出力処理など、汎用的に利用できるライブラリ
- 基本的にこれしか使わない
-
JavaEE(Java Platform, Enterprise Edition)
- JavaEEは、このJavaSEの上で動作するサーバーアプリ開発のためのライブラリ
- 主に企業向けのシステム開発を想定した機能
-
JavaME(Java Platform, Micro Edition)
- リソースの限られた環境への組み込み用(携帯、家電など)
- 近年のIoTの流れの中で、JavaSEに統合
Javaの歴史
- Java2 (version1.2)で環境に応じてエディションが整理されたのち、JDKがJ2SE(Java2 Platform, Standard Edition)と呼ばれるようになった
- Ver6では、J2SEという呼称もJavaSEに改められる
- Java8、9でラムダ式、モジュールなどのモダンな機能が追加される
- Java11でOracleJDKが有償化(OpenJDKは無償)
- OpenJDKにはLTS提供なし(Long Term Support:長期サポート)
環境
-
JDK(Java Development Kit)
- JDKは、Javaアプリを開発/実行するために必要なソフトウェア
- Java仮想マシン、コンパイラー、クラスライブラリ、デバッガーを備えた開発キット
- OracleJDK、OpenJDK(オープンソース)、AdoptOpenJDK(IBM、マイクロソフトなど)
-
統合開発環境(IDE:Integrated Development Environment)
- コーディングを支援する諸機能を取りそろえたソフトウェア
- コードエディター、デバッガー、プロジェクト管理機能など
- ボタン1つでコンパイルから実行までを一気に実行
- Eclipse、NetBeans、IntelliJIDEAなど
Javaコードの全体像
Class
- Javaによるプログラムの基本
- クラスはアプリの中で特定の機能を担うかたまり
- String Class:文字列
- Math Class:数学機能
- FileReader/FileWriter:テキストファイルの読み書き
- これらのクラスを組み合わせアプリを作る
- Javaでは、ファイルとクラスを対応関係にする
- ex:HelloクラスはHello.javaというファイルで定義
メソッド
- class{...}配下に含まれる要素のことをメンバ(フィールド、メソッド、コンストラクターなど)
- メソッドは、クラスの「機能」を表すためのメンバー、アプリで実行すべき処理を表す
- Javaではアプリを起動したときに、まずmainメソッドを探して実行:エントリーポイントという
パッケージ
- クラスを分類するためのいれもの
-
package com.example.demo.trySpring;
配下にあるHelloController
クラスなど
名前解決
- クラスはパッケージ+クラス名で識別:**完全修飾名(FQCN:Fully Qualified Class Name)**という
- FQCN:
package com.example.demo.trySpring.HelloController
ドキュメンテーションコメント
- あとでドキュメントの生成に利用できるコメントでアスタリスク2個で開始(複数行コメントは*1個)
- クラスやそのメンバーの説明を記述する
/***Reads text from a character input stream,... //クラスの概要
*
*@see FileReader //関連項目
*@author MarkReinhold //作者
*@since1.1 //導入されたバージョン
*/
/***Create a buffering character-input stream from… //コンストラクタの概要
*@param in A Reader //引数
*@param sz Input-buffer size //引数
*@exception //例外
*@retutn //戻り値
*/
デバッグの基本
-
ブレークポイント設置
- 実行中のプログラムを一時停止する機能
- エディターから行番号のひいだりクリック
- ブレークポイントでプログラムの状態確認する
-
デバッグ実行
- ブレークポイントからは文単位でコード実行できる:ステップ実行
- ステップイン:1行実行
- ステップオーバー:途中メソッド呼び出し実行し次の行へ
- ステップリターン:現メソッド呼びだし元に戻るまで実行
- ブレークポイントからは文単位でコード実行できる:ステップ実行
-
実行再開/終了
- 通常実行に戻すときは再開,終了したいときは終了ボタン