Java Silver 勉強①
就活をしつつ、勉強も必要なのでモチベーションを上げるために
Java Silverの勉強を始めてみようかと思います。
JavaSilver項目
- Javaの基本データ型と文字列の操作
- 演算子と制御構造
- 配列の操作
- クラスの宣言とインスタンスの使用
- メソッドの作成と使用
- カプセル化の適用
- 継承による実装の再利用
- インタフェースによる抽象化
- 例外処理
- モジュール・システム
JAVA基礎
【Javaの特徴】
①フォームに依存しない
JVM(Java仮想マシン)
②OSの種類を気にせずにさまざまな環境で実行可能
WORA(Write Once Run AnyWhere)
一度書くとどのOSでも再コンパイルせずに実行可能
③オブジェクト指向
データーや処理の集まり
【Javaの実行環境】
JDKは、Javaプログラムを開発するためのツールセットです。JDKには、コンパイラ、デバッガ、JVM、APIなどが含まれており、Javaアプリケーションの作成、コンパイル、デバッグ、実行ができます。
- ソースファイル作成(コーディング)
- コンパイル (Javaコマンドで実行)文法などチェック
2-1. クラスファイル(中間ファイル)この時、エラーが発生するとコンパイルエラー - JVM上で実行 (Javaコマンドで実行)
3-1. この時エラーが発生すると実行エラー
【ソースコードの要素】
①Class宣言
・Classとはオブジェクトが持つ属性やメソッドを定義するもの
・ソースファイル内では必ず1個以上のクラスが必要
・クラスを識別するクラス名は識別子という識別子は命名ルールに従うこと(*予約語注意)
②メインメソッド
・Javaアプリケーションにおいて特別な意味を持つメソッド
・記述は必ず下記の通りにする
public static void main(String[] args){
プログラム実行; →文の最後は「;」をつける
コメント種類
//
/* */
/** */
}
③文
パッケージとインポート
・パッケージはフォルダで分ける。
・インポートは他のクラスを参照する場合利用
【パッケージと import】
1. パッケージ (Package) とは?
パッケージとは、クラスやインターフェースを整理するためのフォルダのような仕組みである。
同じ機能や目的を持つクラスをグループ化することで、コードの管理がしやすくなり、名前の衝突を防ぐことができる。
パッケージの定義方法
クラスの最初に package
文を記述することで、そのクラスが属するパッケージを指定できる。
package mypackage; // mypackage というパッケージに属するクラス
public class MyClass {
// クラスの定義
}
※
package
文は必ずファイルの先頭に記述する必要がある。
パッケージの利用方法
他のパッケージにあるクラスを使用する場合は import
文を使う。
2. import 文とは?
import
文を使用すると、異なるパッケージのクラスを簡単に利用できるようになる。
import の基本形
import パッケージ名.クラス名;
または
import パッケージ名.*;
*
を使うと、そのパッケージ内のすべてのクラスをインポートできるが、明示的にクラス名を指定する方が推奨される。
import の例
import java.util.ArrayList; // java.util パッケージの ArrayList クラスをインポート
public class Example {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("Hello");
System.out.println(list.get(0));
}
}
import java.util.ArrayList;
を書かない場合、java.util.ArrayList
と完全修飾名を使わなければならない。
import static の使用
static
メンバー(定数やメソッド)をインポートする場合は import static
を使う。
import static java.lang.Math.PI;
import static java.lang.Math.pow;
public class MathExample {
public static void main(String[] args) {
System.out.println(PI); // 3.141592653589793
System.out.println(pow(2, 3)); // 8.0
}
}
import static
を使うことで、Math.PI
やMath.pow()
のようにクラス名を省略できる。
3. デフォルトのパッケージ (無名パッケージ)
package
文を記述しない場合、そのクラスは「無名パッケージ(default package)」に属する。
しかし、無名パッケージに属するクラスは他のパッケージのクラスからアクセスできないため、通常は使用しないことが推奨される。
まとめ
✅ パッケージ はクラスを整理するためのフォルダのようなもの。
✅ package
文はファイルの先頭に記述し、クラスの所属パッケージを指定する。
✅ 他のパッケージのクラスを使う場合は import
文を記述する。
✅ import static
を使うと、static メンバーをクラス名なしで利用できる。
✅ package
文を省略するとデフォルトのパッケージに属するが、基本的には避けるべき。
命名について
1. キャメルケース (CamelCase)
Javaでは、変数名、メソッド名、クラス名、インターフェース名など、各種識別子に対して命名規則がありますが、基本的にはキャメルケース(CamelCase)を使います。
-
キャメルケース: 最初の単語は小文字、2番目以降の単語の最初の文字を大文字にする形式です。
- 例:
myVariable
,calculateTotalAmount()
,UserAccount
- 例:
2. クラス名
-
クラス名はパスカルケース(PascalCase)を使用します。パスカルケースは、キャメルケースの最初の文字も大文字にした形式です。
- 例:
StudentManager
,AccountController
,UserDetails
- 例:
-
クラス名は名詞で始めるのが一般的です。例えば、
Student
やEmployee
など、クラスの意味が伝わりやすい名詞を使います。
3. メソッド名
-
メソッド名もキャメルケースを使用しますが、動詞で始めることが一般的です。メソッドは「動作」を表すため、動詞を使うことでその機能が分かりやすくなります。
- 例:
calculateTotal()
,getName()
,setUser()
- 例:
4. 変数名
-
変数名はキャメルケースを使用し、意味のある名前を付けます。略語を避け、できるだけ何を表しているか分かるようにしましょう。
- 例:
totalAmount
,userAge
,productPrice
- 例:
-
一般的に、変数名には短縮形や略語を使わず、明確で意味がわかりやすい名前を選びます。
5. 定数名
-
定数名(final変数)は全て大文字で記述し、単語の区切りにアンダースコア(
_
)を使います。- 例:
MAX_SIZE
,DEFAULT_VALUE
- 例:
6. インターフェース名
-
インターフェース名は、通常クラス名と同様にパスカルケースを使用しますが、インターフェースを示すために、
I
をプレフィックスに付けることがあります(ただし、I
を付ける規則は必須ではありません)。- 例:
Runnable
,Serializable
-
I
を使う例:IUserService
,IDataProcessor
- 例:
7. パッケージ名
-
パッケージ名は全て小文字を使い、複数の単語をドット(
.
)で区切ります。パッケージ名は、プロジェクト内で一意であることを意識し、組織名やドメイン名を逆にしたものを使うことが一般的です(例:com.example.project
)。- 例:
com.example.app
,org.mycompany.service
- 例:
8. アクセサメソッド名
-
アクセサメソッド(getter / setter)は、
get
やset
の後にプロパティ名をつけ、キャメルケースを使用します。- 例:
getFirstName()
,setUserAge()
- 例:
9. 配列やコレクションの命名
- 配列やコレクションの場合、変数名には複数形を使用することが一般的です。
- 例:
students
,items
,userList
- 例:
10. 略語や頭字語の取り扱い
- Javaでは略語や頭字語(例えば、
URL
,XML
,HTML
など)の場合も、キャメルケースを使います。基本的に、すべて大文字の略語をそのまま大文字で使用するか、適切に大文字と小文字を区別します。- 例:
getXmlData()
,parseHtmlContent()
,userUrl
- 例:
11. 明確で意味のある名前をつける
命名規則に従うことは大事ですが、最も重要なのはコードが誰にでも理解できるような名前をつけることです。できるだけ直感的で、コードの目的が伝わるような名前を心がけましょう。
例:
-
良い名前:
calculateTotalAmount
,getUserInfo
,saveFile
-
悪い名前:
doSomething
,temp
,value
12. プライベートメソッドや変数の命名
- プライベートな変数やメソッドには、一般的にアンダースコア(
_
)を使ったり、m
(member変数の略)をプレフィックスとして使うことがあります。プライベートな変数やメソッドはクラス内部でしか使用しないため、その使用方法が分かりやすくなるような名前をつけます。- 例:
private String _name;
(プレフィックス使用) - 例:
private int mCount;
(プレフィックス使用)
- 例:
Discussion