240 likes | 441 Views
3 年生前期ゼミナール ( 独習 JAVA). 第 1 章 Java の基礎. もくじ. 背景 バイトコードと Java Virtual Machine (JVM) アプリケーションとアプレット クラスとオブジェクト オブジェクト指向プログラミングの 3 つの 原則 Java クラスライブラリ Java 2 Platform Development Kit (JDK) はじめての Java アプリケーション 変数と代入 文字列とキャラクタ 算術演算子と式 式における型変換 代入における型変換 コメント 1 次元配列 多次元配列 Java キーワード.
E N D
3年生前期ゼミナール (独習JAVA) 第1章 Javaの基礎
もくじ • 背景 • バイトコードとJava Virtual Machine (JVM) • アプリケーションとアプレット • クラスとオブジェクト • オブジェクト指向プログラミングの3つの原則 • Javaクラスライブラリ • Java 2 Platform Development Kit (JDK) • はじめてのJavaアプリケーション • 変数と代入 • 文字列とキャラクタ • 算術演算子と式 • 式における型変換 • 代入における型変換 • コメント • 1次元配列 • 多次元配列 • Javaキーワード
背景 • SunMicrosystems社の開発チームによって1991年に作成 • 開発環境で多種多様なハードウェア/ソフトウェアが使用されていたため、プラットフォームに依存しない言語である必要があった • 明確で徹底したオブジェクト指向プログラミングへのアプローチによりソフトウェアの再利用と保守がとても簡単になっている
バイトコードとJava Virtual Machine (JVM) • ソースコード • プログラムのテキスト版 • 人間に読みやすい形式 • オブジェクトコード • プログラムの実行可能な形態 • 特定のCPU専用であり異なるプラットフォームでは実行できない オブジェクト コード ソースコード プログラム
バイトコードとJava Virtual Machine (JVM) • コンパイル時にバイトコードを含める • JVMはバイトコードを解釈しプラットフォーム非依存の環境を実現 プログラム コンパイル後の クラスファイル バイトコード Java Virtual Machine CPU
アプリケーションとアプレット • Javaによって作成できるプログラムはアプリケーションとアプレットの2種類 • アプリケーション -- JVMによって直接実行可能 • アプレット-- Webブラウザが必要 • アプレットビューを使用しアプレットを実行することも可能 • Java 2 Platform Standard Edition Development Kit (JDK)に含まれておりテストなどに使用
オブジェクト指向プログラミングの3つの原則オブジェクト指向プログラミングの3つの原則 • オブジェクト指向プログラミングの基盤を説明する際の3つの機能 • カプセル化 • 継承 • ポリモーフィズム
カプセル化 • データとデータを操作するコードを関連付けるメカニズム • カプセル化の利点 • データの形式を簡単に変更できる • 機密情報へのアクセスが楽になる • 複数のスレッドからのデータアクセスの同期化が簡単になる
継承 • あるクラスを特化することにより他のクラスを定義するメカニズム • すでに定義されている構造体や動作を元に別のクラスを定義できる ⇒ ソフトウェアの再利用 Object ・サブクラスDはクラスAを継承 ・クラスAはクラスDの スーパークラス A B C D E F G
ポリモーフィズム • 「1つのインターフェイス、複数の実装」と表現されるメカニズム • 呼び出しているメソッドが一見同じなのに処理結果が変わる 地域情報を調べる 雨の地域を調べる 携帯電波の範囲を調べる クラスA クラスB クラスC getArea() getArea() getArea()
Javaクラスライブラリ • さまざまな種類のクラスライブラリが定義
Java 2 Platform Standard Edition Development Kit 5.0 (JDK) • アプリケーションやアプレットを作成し実行するために必要なものが含まれた開発環境 • 現在の最新バージョンはJDK 6.0
はじめてのJavaアプリケーション • プログラム例 • 実行例 class Example1 { public static void main (String args[]) { System.out.println(“This is the output from Example1”); } } >Javac Example1.java This is the output from Example1
変数と代入 • 名前の付いたメモリ位置で値を格納できる • Javaの8つの基本データ型
変数と代入 • プログラム例 • 実行例 class Example2 { public static void main (String args[]) { inti = 50; System.out.println(“The value of i is ” + i); } } >Javac Example2.java The value of i is 50
文字列とキャラクタ • 一連のキャラクタを二重引用符(“)で囲むことで定義 • 二重引用符の前に\をつけることで文字列の内部に二重引用符を含むことができる • 文字列を連結させるには+演算子で連結 • 例 String s = “abcde” + “ef \” ghi \” “ ;
算術演算子と式 • 式とは演算子とオペランドを組み合わせたもの
式における型変換 • 型の異なるデータを1つの式で組み合わせて使うことができる • 式の最終結果には最も大きい型が使用される inti; float f; i= 10 f = 23.25f System.out.println(i * f); 18
代入における型変換 • 代入ステートメントで右辺と左辺の型が異なる場合、左辺の型に変換される • 左辺の型が右辺の型より小さい場合は(type)valueを使用 intb; inti = 258; b = (byte)i; System.out.println(i * f);
コメント • ソースコード内に書き込むメモ • 単一行コメント • 「//」ではじまり行末尾までコメントとして解釈 • 複数行コメント • 「/*」ではじまり、「*/」で終わり • ドキュメンテーションコメント • 「/**」という3文字ではじまり、「*/」という2文字で終わり
1次元配列 • 共通の名前を使用してアクセスすることが可能な、同じ型を持つ一連の変数 • 1次元配列の宣言 • 1次元配列の領域割り当て • 1次元配列の宣言と領域割り当て type varName[]; varName = new type[size]; type varName[] = new type[size];
1次元配列 • 1次元配列の要素取得 • 1次元配列の初期化 • 例 varName.length; type varName[] = {e0, … , en}; intia[] = new int[10] ia[0] ia[1] ia[2] ia[3] ia[4] ia[5] ia[6] ia[7] ia[8] ia[9]
多次元配列 • 配列の配列として実装 • 個々にインデックスを配置することでアクセス可能 intib[][] = new int[2][2]; ib[0][0] ib[0][1] ib[1][0] ib[1][1]
Javaキーワード • Java言語のキーワードは変数名またはメソッド名として使用できない • Abstract, boolean, etc......