第一回 java 言語

12
Java Java 第第 第第 04 04 A2029 A2029 第第第第 第第第第

Upload: samuel-simmons

Post on 02-Jan-2016

28 views

Category:

Documents


0 download

DESCRIPTION

第一回 Java 言語. 04 A2029           古賀慎也. はじめに. 私は今回、卒業論文テーマとして 「 java アプレットを用いたブラウザ上で動作する ゲームの作成 」 を目標に1年間 java 言語の勉強をしていこうと考えています。 目標 「 java 言語の理解を深め、1からのプログラミングを経験することで   自分に自信をつける」 内容 「脳力トレーニングゲーム(予定)」     ブラウザ上にダウンロードして遊ぶことを前提に、可能な限り動作 を   軽くするよう心掛ける。 ※ 今後の学習の進行度合により内容変更する可能性もあります。 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第一回 Java 言語

第一回第一回JavaJava 言語言語

0404 A2029A2029

          古賀慎也          古賀慎也

Page 2: 第一回 Java 言語

はじめにはじめに私は今回、卒業論文テーマとして私は今回、卒業論文テーマとして

「「 javajava アプレットを用いたブラウザ上で動作する ゲームの作成アプレットを用いたブラウザ上で動作する ゲームの作成」」を目標に1年間を目標に1年間 javajava 言語の勉強をしていこうと考えています。言語の勉強をしていこうと考えています。

目標 「目標 「 javajava 言語の理解を深め、1からのプログラミングを経験することで言語の理解を深め、1からのプログラミングを経験することで  自分に自信をつける」  自分に自信をつける」

内容 「脳力トレーニングゲーム(予定)」内容 「脳力トレーニングゲーム(予定)」    ブラウザ上にダウンロードして遊ぶことを前提に、可能な限り動作     ブラウザ上にダウンロードして遊ぶことを前提に、可能な限り動作

をを  軽くするよう心掛ける。  軽くするよう心掛ける。

※※今後の学習の進行度合により内容変更する可能性もあります。今後の学習の進行度合により内容変更する可能性もあります。

今回はその勉強編1回目ということで、まずは基本中の基本今回はその勉強編1回目ということで、まずは基本中の基本「「 javajava 言語とはなにか?」を中心にまとめてみました。言語とはなにか?」を中心にまとめてみました。

Page 3: 第一回 Java 言語

JavaJava 言語とは言語とはJavaJava 言語は、ハイエンド言語は、ハイエンド UNIXUNIX ワークステーションの代表的なメーカーワークステーションの代表的なメーカーSun Microsystems(Sun Microsystems( サンマイクロシステムズ)が開発したオブジェクト指向サンマイクロシステムズ)が開発したオブジェクト指向プログラミング言語です。プログラミング言語です。C++C++ を手本にして開発されており、命令や考え方なども多くの類似点がありを手本にして開発されており、命令や考え方なども多くの類似点があります。強力なセキュリティ機構や豊富なネットワーク関連の機能が標準でます。強力なセキュリティ機構や豊富なネットワーク関連の機能が標準で搭載されておりネットワーク環境で利用されることを強く意識した仕様になっ搭載されておりネットワーク環境で利用されることを強く意識した仕様になっています。ています。

また、また、 JavaJava 言語の最大の強みとして汎用性の高さが挙げられます。言語の最大の強みとして汎用性の高さが挙げられます。仮想マシンを介して実行することにより、仮想マシンを介して実行することにより、 JavaJava で開発されたソフトウェアはで開発されたソフトウェアは特定の特定の OSOS やマイクロプロセッサに依存することなく基本的にはどのようなやマイクロプロセッサに依存することなく基本的にはどのようなプラットフォームでも動作させることができます。プラットフォームでも動作させることができます。

むかし いま

Page 4: 第一回 Java 言語

実行形態実行形態JavaJava アプリケーション アプリケーション ‥‥ 個々のコンピュータで実行される 個々のコンピュータで実行される JavaJava プログラム。携帯電話のププログラム。携帯電話のプ

ラッラッ    トフォームとしてもよく利用される   トフォームとしてもよく利用される

JavaJava アプレット アプレット ‥‥‥‥‥‥ ネットワーク上に置かれウェブブラウザ上で実行できる ネットワーク上に置かれウェブブラウザ上で実行できる JavaJava プロプログラ         グラ             ム。ワンクリックで実行できるため、その   ム。ワンクリックで実行できるため、その動作にはサンドボックス機構  動作にはサンドボックス機構      のもとで厳しい制限が加えられ   のもとで厳しい制限が加えられている。 ている。

JavaJava サーブレット  サーブレット  ‥‥‥‥ WebWeb サーバー上で動作するサーバー上で動作する JavaJava プログラム。プログラム。 PerlPerl などによるなどによる CGICGIにに    比べ、サーバー負荷が低いなどのメリットがある。   比べ、サーバー負荷が低いなどのメリットがある。

JSP‥‥‥‥‥‥‥‥JSP‥‥‥‥‥‥‥‥ HTMLHTML 内に記述する内に記述する JavaJava プログラム。サーバー側で解釈して動的にプログラム。サーバー側で解釈して動的に       WebWeb ページを作り出す。ブラウザ側で実行するスクリプトではなく、ページを作り出す。ブラウザ側で実行するスクリプトではなく、       javajava サーブレットの機能を補完するもの。サーブレットの機能を補完するもの。

Java Web Start ‥‥Java Web Start ‥‥ JavaJava アプリケーションを簡単に配備し実行する仕組み。拡張子がアプリケーションを簡単に配備し実行する仕組み。拡張子が       jnlpjnlp となっているファイルをウェブブラウザなどでワンクリックしただとなっているファイルをウェブブラウザなどでワンクリックしただ   けで自動ダウンロード、自動インストール、最新バージョンがあるか   けで自動ダウンロード、自動インストール、最新バージョンがあるか   をネット上で自動チェックしあれば自動アップデートしてから実行する   をネット上で自動チェックしあれば自動アップデートしてから実行する       JavaJava アプレットのように実行時にブラウザを必要とすることはない。アプレットのように実行時にブラウザを必要とすることはない。

Page 5: 第一回 Java 言語

実行手順実行手順

ソースコード(ソースコード( .java).java)

↓↓コンパイルコンパイル

↓↓バイトコードバイトコード (.class)(.class)

JavaJava 仮想マシン  仮想マシン  javajava 仮想マシン  仮想マシン  javajava 仮想マシン仮想マシン   ↓   ↓  ↓ ↓     ↓    ↓

WindowsWindows Linux Macintosh Linux Macintosh

Page 6: 第一回 Java 言語

ネットワーク機能ネットワーク機能JavaJava では充実したライブラリ(汎用性の高いプログラムをまとめでは充実したライブラリ(汎用性の高いプログラムをまとめたもの)によりコンピュータ・ネットワークを使うソフトウェアをたもの)によりコンピュータ・ネットワークを使うソフトウェアを

、、効率良く開発することができる。効率良く開発することができる。JavaJava の初期のバージョンから、の初期のバージョンから、 IPv4IPv4 のライブラリを備えておりのライブラリを備えておりネットワークでソケット通信を行うソフトウェアを簡単に実装するネットワークでソケット通信を行うソフトウェアを簡単に実装することができた。ことができた。分散オブジェクト環境のソフトウェアの開発も早い時期からでき分散オブジェクト環境のソフトウェアの開発も早い時期からできるようになり、るようになり、 Java RMIJava RMI もしくはもしくは CORBACORBA (コルバ)の分散オブ(コルバ)の分散オブジェクト技術を標準で使うことができる。近年では、標準、拡張ジェクト技術を標準で使うことができる。近年では、標準、拡張その他のライブラリにより、その他のライブラリにより、 FTPFTP やや HTTPHTTP のほか、のほか、 Ipv6Ipv6 など多くなど多くのネットワークプロトコルを高水準で扱えるようになっている。のネットワークプロトコルを高水準で扱えるようになっている。

Page 7: 第一回 Java 言語

JavaJava 言語の長所言語の長所

・開発環境がタダで手に入る・開発環境がタダで手に入る →

・・ OSOS やハードウェアに依存しない高い汎用性やハードウェアに依存しない高い汎用性

・・Javaアプレットとしてホームページ上で実行Javaアプレットとしてホームページ上で実行できるできる

噴水      3DD 波紋波紋 ブロック崩しブロック崩し・構文は ・構文は CC やや C++ C++ から多くを引き継いでいるから多くを引き継いでいる

ためため CC 言語経験者がなじみやすい言語経験者がなじみやすい

・ネットワーク技術と相性がいい・ネットワーク技術と相性がいい

Page 8: 第一回 Java 言語

JavaJava 言語の短所言語の短所

・他のプログラミング言語と比べて動作が遅い ・他のプログラミング言語と比べて動作が遅い (最近はコンピュータの性能向上により、解消(最近はコンピュータの性能向上により、解消 されつつある) されつつある)

・仮想マシン(・仮想マシン( Java Virtual MachineJava Virtual Machine )がイ)がインストールされていないコンピュータでは実ンストールされていないコンピュータでは実行できない行できない

・汎用性を重視したため、器用さでは他の言語・汎用性を重視したため、器用さでは他の言語に劣るに劣る

Page 9: 第一回 Java 言語

JavaJava とと C++C++

C++C++ は、オブジェクト指向型言語でないは、オブジェクト指向型言語でない CC 言語に、オブジェクト指向型のプログラミ言語に、オブジェクト指向型のプログラミンン

グが出来るような機能を追加したものです。グが出来るような機能を追加したものです。

JavaJava は、それらの優れた点だけを引き継ぎ、オブジェクト指向に不要なものを削ったは、それらの優れた点だけを引き継ぎ、オブジェクト指向に不要なものを削ったものです。ものです。そのためにそのために JavaJava はオブジェクト指向プログラミングしかできません。はオブジェクト指向プログラミングしかできません。そのような理由から、そのような理由から、 JavaJava はは CC 言語や言語や C++C++ と見た目や文法が似ています。と見た目や文法が似ています。

JavaJava はは C++C++ と比較すると、ほとんど誰も利用しないような機能を取り除いてシンプルと比較すると、ほとんど誰も利用しないような機能を取り除いてシンプルにしたうえで、さらにメモリ管理を簡単にしたという特徴があります。にしたうえで、さらにメモリ管理を簡単にしたという特徴があります。そのために、そのために、 JavaJava はは C++--C++-- と表現されることもあります。と表現されることもあります。これは、これは、 C++C++ から必要がなかったり、一般のプログラマには難しすぎるという機能から必要がなかったり、一般のプログラマには難しすぎるという機能や考え方を取り除いてマイナスしたものがや考え方を取り除いてマイナスしたものが JavaJava であることを表現しています。であることを表現しています。

Page 10: 第一回 Java 言語

JavaJava とと JavaScriptJavaScript の関係の関係

javajava とよく混同されるものにとよく混同されるものに JavaScriptJavaScript というものというものがが

あります。あります。お互い「お互い「 javajava 」という名称がついているため、関係性」という名称がついているため、関係性があるように見えますが実は全く違うものです。があるように見えますが実は全く違うものです。JavaJava はは Sun MicrosystemsSun Microsystems社によって作られました社によって作られましたがが JavaScriptJavaScript はは NetscapeNetscape社がブラウザで動くスクリ社がブラウザで動くスクリプトとして作成したものです。プトとして作成したものです。記述の仕方はよく似ていますが、記述の仕方はよく似ていますが、 JavaJava との直接のとの直接の互換性もありません。互換性もありません。

Page 11: 第一回 Java 言語

JavaJava アプレットアプレットJavaJava アプレットとはネットワークを通じてアプレットとはネットワークを通じて WebWeb ブラウザにダウンロードされ、ブラブラウザにダウンロードされ、ブラ

ウザウザのウィンドウに埋め込まれて実行されるのウィンドウに埋め込まれて実行される JavaJava プログラムのことです。プログラムのことです。

Web Web ページの一部として自動的に読み込まれて動作するため、ページの一部として自動的に読み込まれて動作するため、 JavaJava アプレットをアプレットを悪用してユーザのコンピュータに被害を与えることのないようにユーザのハード悪用してユーザのコンピュータに被害を与えることのないようにユーザのハードディスクの内容を読み書きしたり、自分が呼び出されたディスクの内容を読み書きしたり、自分が呼び出された WebWeb サーバ以外のコンサーバ以外のコンピュータに接続したり、他のアプリケーションソフトを起動したりすることはできなピュータに接続したり、他のアプリケーションソフトを起動したりすることはできないようになっています。いようになっています。このこの JavaJava アプレットを使うことにより、アプレットを使うことにより、 HTMLHTML で記述された静的なで記述された静的な WebWeb ページではページでは実現できない動的な表現が可能となります。実現できない動的な表現が可能となります。

しかし現在は、同じような動作ができなおかつ軽いしかし現在は、同じような動作ができなおかつ軽い Adobe FlashAdobe Flash がメジャーに成りがメジャーに成りつつあり、つつあり、 javajava アプレットの使用率は低下してきています。アプレットの使用率は低下してきています。

Page 12: 第一回 Java 言語

参考参考 参考書参考書     JavaJava 言語入門(アプレット、言語入門(アプレット、 AWTAWT 、先進的機構)、先進的機構)

      //プレンティスホール出版プレンティスホール出版

  やさしい  やさしい java(java( 第3版)第3版)                 //高橋 麻奈 高橋 麻奈 著著

・参考サイト・参考サイト WikipediaWikipedia     -     -         http://ja.wikipedia.org/wiki/http://ja.wikipedia.org/wiki/

ITIT 用語用語辞典    -     辞典    -      http://e-words.jp/http://e-words.jp/

サンマイクロシステムズ - サンマイクロシステムズ -  http://jp.sun.com/http://jp.sun.com/

   その他   その他