倭マン's BLOG

くだらない日々の日記書いてます。 たまにプログラミング関連の記事書いてます。 書いてます。

翔泳社 SJC-P テキスト覚え書き : 第1章 Java プログラミングの基礎

この章で学ぶこと

  1. Java プログラムの記述と実行
  2. Java プログラムの要素
  3. Java の特徴
  4. Java のバージョン
  5. Point

SUN教科書 Javaプログラマ(SJC-P) 5.0・6.0両対応(試験番号310-055、310-065)

SUN教科書 Javaプログラマ(SJC-P) 5.0・6.0両対応(試験番号310-055、310-065)

Java プログラムの記述と実行

  1. 「ソースファイル」 has a 「public クラス」 or not
  2. public クラスを持つソースファイルの名前は、「public クラス名+.java」でなければならない

Java プログラムのコンパイル : javac コマンド

  • ソースファイル(.java) → クラスファイル(バイトコードファイル .class)
  • javac コマンドでファイル名を指定する際には 「.java」拡張子を含める.

Java プログラムの実行 : java コマンド

  • クラスファイルを実行する
  • main() メソッドを持つクラスを指定する
  • java コマンドでファイルを指定する際には「.class」拡張子を含めない

Java プログラムの要素

  • Java プログラム」 has some 「クラス」
  • 「クラス」 has some 「変数、メソッド」
  • クラス」・・・必要な項目を洗い出して1つにまとめたもの
  • オブジェクト」・・・クラスの各項目に固有情報が保持され、実際に使用できるもの
  • クラスはオブジェクトを作成するテンプレート(設計図)
  • インスタンス」・・・クラスからオブジェクトを作ること
  • インスタンス」・・・オブジェクトのこと

変数とデータ型

変数名についての制約 (クラス名、メソッド名についても同じ)

  • 先頭文字は a-z, A-Z, _, $ (数字で開始することはできない)
  • 2文字目以降は a-z, A-Z, _, $, 0-9 (先頭文字+数字
  • Java 言語のキーワード(第2章)は使用できない

プログラムの実行フロー

  • 式(以下は一部の例)
    • 代入式
    • ++演算子、--演算子の使用
    • メソッド呼び出し
    • オブジェクト作成式
  • 文・・・プログラムにおける最小の実行単位
    • 「文」 has some 「式」
    • 式文・・・式の後にセミコロン(;)をつけたもの
    • 宣言文
    • フロー制御文
  • ブロック
    • 「ブロック」 has some 「文」 or not
    • 「ブロック」は0個以上の文を {} で囲んだもの
    • 単一文が使用できるところではどこでも使用可能
    • ネスト可能
  • 実行フローの制御 (第6章

Java の特徴

オブジェクト指向プログラミング

クラスとクラスメンバへのアクセス

アクセス修飾子

  • public」・・・どこからでも、誰からでもアクセス可能
  • protected」・・・自クラスおよび同パッケージ、もしくはそのクラスのサブクラス(多パッケージでも良い)からアクセス可能
    • クラス宣言には使用できない
  • デフォルト」(指定なし)・・・自クラスおよび同パッケージ内からアクセス可能
  • private」・・・自クラス内のメンバからのみアクセス可能

Java プログラムによるメモリの使用

  • ガベージコレクタ」・・・第4章
  • プログラムのデータはメモリ内でスタックヒープに格納される
    • スタックとヒープは、どちらもデータを格納するメモリ。 格納の方法、場所が異なる。

エラー発生のタイミング

SJC-P 試験で重要!!

Java のバージョン

JDK 5 (310-055)

JDK 6 (310-065)

  • JDK 5 の内容
  • java.util.NavigableSet, javautil.NavigableMap
  • java.io.Console

Point

  • プログラマは、Java 言語を使用してプログラムを記述し、コンパイラを使用して、JVM が実行できるバイトコードに変換する
  • コンパイル時には javac コマンドを使用し、実行時には java コマンドを使用する
  • Java コンパイラにより生成されたバイトコードは、Windows, Solaris, Mac など個別のプラットフォームの JVM 上で実行することができる。 したがって、Java プログラムは一度記述すれば、様々な JVM を使用して、様々なプラットフォームで実行できる*1
  • オブジェクト指向の基本概念に沿ってプログラムを作成する。 具体的にはシステムをオブジェクトの単位に分割し、そのオブジェクト同士を組み合わせて関連づけをしながらシステムを開発していく

*1:WORA : Write Once, Run Anywhere