約 1,438,136 件
https://w.atwiki.jp/sevenlives/pages/551.html
void(Java) プリミティブ型? 参照型(Java)?
https://w.atwiki.jp/myownwords/pages/183.html
Java関連の呼び方 Java*関係の呼び方(略称)がややこしい。 こんな感じか? SDK Software Development Kit JDK Java Development Kit JRE Java Runtime Edition or Java SE Runtime Edition J2RE Java 2 Runtime Environment J2SE Java 2 Platform, Standard Edition J2EE Java 2 Platform, Enterprise Edition Java SE Java Platform, Standard Edition Java EE Java Platform, Enterprise Edition JDK 1.2以降、Java2 と呼ばれている。 JDK 1.5は、バージョンが5.0と呼ばれている。 いまの最新は、Java SE 6、Java EE 5 ? 記: 2009/04/30
https://w.atwiki.jp/memonote-wiki/pages/13.html
第1章 クラスとオブジェクト Javaはオブジェクト指向プログラミング言語です。今回はプログラムは一切ありません。クラスのイメージをつかんでいただければOK.です。Javaなどのオブジェクト指向言語で必ず出てくるのが、クラスというものです。 クラスを説明する前にこのオブジェクト指向プログラミング言語を説明します。 この私たちの生きているこの世界はすべて「モノ」で構成されています。 例 パソコンを構成しているものは… ①ディスプレイ ②本体(CPU、HD) ③マウス ④キーボード などのいくつかの「モノ」から構成されています。 こういう「ものは小さな部品(モノ)から構成されている」という私たちの世界と同じような考え方をプログラミング言語にも応用してしまおうというのが「オブジェクト指向プログラミング言語」です。これで何が良いかというと、今までは、ただ単にコンピュータに対して命令を記述するというコンピュータを軸に考えていたものを、人間の考えている形で表現できるようにしたということです。オブジェクト指向は難しいとかいう人もいますが、今まで人間が無理に考え方をコンピュータにあわせていたものを、逆にコンピュータが人間に歩み寄ったという感覚なので、オブジェクト指向からプログラミングを始める人にとっては自分の考えている形をそのまま形として表現できるのでオブジェクト思考プログラミング言語の方が簡単に思えてきます。 では、「クラス」というものについて説明していきます。 いきなりですが、水族館を作ることにします。 ①まず必要になるのが水槽です。「でもどんな水槽が必要なんだろう!?」って思います。 それで、設計図を作ります。 ②設計図をつかい、水槽(モノ)をつくります。設計図があるので水槽はいくつでも作れます。 ③次に水族館には魚が必要なので魚を用意します。「でもどんな魚がいいかな!?」と思います。 そこで、資料を見ます。 ④資料により、魚(モノ)を作ります(買ってくる)。資料があるので、何匹でも買ってこれます。 ⑤水族館の水槽の位置や魚いる場所などを決める(水族館自体の設計図)。 こんな感じで水族館が出来上がります。 設計図や資料にあたるのが、オブジェクト指向プログラミング言語の「クラス」です。 クラスには、オブジェクトのデータ(変数)と振る舞い(メソッド)を定義します。 設計図があれば「モノ」を作ることができるように、クラスからオブジェクトを作ることができます。 ①のこの設計図を「水槽クラス」、③の資料を魚クラスとします。 ②の水槽、このオブジェクト(モノ)を「水槽クラス」のインスタンスといいます。 同じように④の魚、このオブジェクトは「魚クラス」のインスタンスといいます つまり、「~クラスをもとに作られたオブジェクトを、~クラスのインスタンスという」ということです。そのまんま… 各インスタンスは、1つ1つで独立したものになります。そのため、インスタンスごとに独自に情報をもてますから、データ管理もやりやすくなります。 この概念(設計図とモノ[クラスとオブジェクト])については、なんとなくでいいので覚えていてください。
https://w.atwiki.jp/ce00582/pages/1268.html
import com.sun.j3d.utils.geometry.*; import com.sun.j3d.utils.universe.*; import javax.media.j3d.*; import javax.vecmath.*; public class ex63{ public ex63() { SimpleUniverse universe = new SimpleUniverse(); BranchGroup group = new BranchGroup(); for (float x = -1.0f; x = 1.0f; x = x + 0.1f) { Sphere sphere = new Sphere(0.05f); TransformGroup tg = new TransformGroup(); Transform3D transform = new Transform3D(); Vector3f vector = new Vector3f( x, .0f, .0f); transform.setTranslation(vector); tg.setTransform(transform); tg.addChild(sphere); group.addChild(tg); } for (float y = -1.0f; y = 1.0f; y = y + 0.1f) { TransformGroup tg = new TransformGroup(); Transform3D transform = new Transform3D(); Cone cone = new Cone(0.05f, 0.1f); Vector3f vector = new Vector3f(.0f, y, .0f); transform.setTranslation(vector); tg.setTransform(transform); tg.addChild(cone); group.addChild(tg); } for (float z = -1.0f; z = 1.0f; z = z+ 0.1f) { TransformGroup tg = new TransformGroup(); Transform3D transform = new Transform3D(); Cylinder cylinder = new Cylinder(0.05f, 0.1f); Vector3f vector = new Vector3f(.0f, .0f, z); transform.setTranslation(vector); tg.setTransform(transform); tg.addChild(cylinder); group.addChild(tg); } Color3f light1Color = new Color3f(.1f, 1.4f, .1f); BoundingSphere bounds = new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0); Vector3f light1Direction = new Vector3f(4.0f, -7.0f, -12.0f); DirectionalLight light1 = new DirectionalLight(light1Color, light1Direction); light1.setInfluencingBounds(bounds); group.addChild(light1); universe.getViewingPlatform().setNominalViewingTransform(); universe.addBranchGraph(group); } public static void main(String[] args) { new ex63(); } }
https://w.atwiki.jp/katsuhiro/pages/16.html
JavaTips
https://w.atwiki.jp/idolish7tw/pages/991.html
返回卡片系列一覽 1055 Dejavu系列/棗 巳波
https://w.atwiki.jp/javafx/pages/14.html
Colorクラス 属性 属性名 項目 代入される型 red R値 Number green G値 Number blue B値 Number opacity 透明度(0.0 透明) Number スーパクラス AbstractColor サブクラス Colorの定数 対応表(Color)
https://w.atwiki.jp/0x0b/pages/82.html
JAVA 義ではオブジェクト指向プログラミング言語Javaであり、広義ではプログラミング言語Javaのプログラムの実行環境および開発環境 プログラミング言語としてのJava、および関連する技術や設計思想、およびJava言語の実行環境としてみたJavaプラットフォーム 拡張子java パラダイム構造化・命令型・オブジェクト指向 登場時期1995年 設計者Java Community Process 開発者オラクル(サン・マイクロシステムズ) 最新リリースJava Standard Edition 7 (1.7.0)(2011年7月28日(米国時間)) 型付け強い静的型付け 主な処理系コンパイラ(JDK, OpenJDKなどのjavac, gcjなど)、バイトコードインタプリタ(JDK, JRE(サーバー用、クライアント用が存在), Microsoft VM for Java, OpenJDK など多数) 影響を受けた言語Objective-C、Smalltalk、C++、Eiffel、C# 影響を与えた言語C#、D プラットフォームSolaris、Linux、Windows、 Mac OS X、AIX、System i、 各種の組み込みシステム ほか多数 ライセンスGNU General Public License ウェブサイトjava.sun.com Javaは、従来のさまざまな言語の良い部分を引き継ぎ、欠点を克服するよう設計された。次のような特徴をもつ。 Javaではプラットフォームに依存しないアプリケーションソフトウェアの開発と配備を行うことができる。 Javaで開発されたソフトウェアは堅牢な実行環境(仮想マシン)であるJava仮想マシンのもとで動作する。 オブジェクト指向プログラミングの考え方に基づいて設計された言語であり、ソフトウェアの開発と保守の複雑さを低減し、開発効率と保守性を高める。 Smalltalk や Objective-C と同様な簡潔なオブジェクトモデルを採用している。 構文は C および C++ から多くを引き継いでいる。 現在、Javaの技術は、情報技術のローエンドからハイエンドまで幅広く使われている。 組み込みシステムや携帯機器(携帯電話・PHSやPDA・スマートフォン等)のシステムから、企業の情報システムを担う大規模なサーバやスーパーコンピュータまで、非常に多くの分野で活用されている。 プログラムの実行は、各クラスが実体化したオブジェクト群が相互にメッセージをやりとりしながら行われる Javaでは、継承については実装の単一継承を採用している。ただし1つのクラス(オブジェクト)は複数のインタフェースを実装できる。Javaで扱うデータ/オブジェクトの型(データ型)は、強い静的型付けを採用している。Javaのコンパイラおよび実行環境が、型同士の整合性を検査することによって、プログラムが正しく記述されていることや、安全に動作することの検証が、可能である。 Javaは例外処理機構を備えており、プログラム実行中に生じた異常(例外)の扱いを、比較的安全な方法で行い、プログラムを読みやすく記述することができる。 Javaでは簡潔なメモリモデルを採用しており、プログラマがメモリ (主記憶装置) を管理する負担を軽減する。あらゆるオブジェクトはメモリ内のヒープという領域に割り当てられる。メモリ管理は、Java仮想マシンに統合されたガベージコレクションの機能によって行われる。従来のオブジェクト指向プログラミング言語である C++ では、ヒープ領域に生成したオブジェクトについて、もはや必要が無くなった時に破棄する指示を、プログラマが自分で責任をもって行わなければならなかった。これは、C++ プログラマにとっては負担が大きく複雑で間違えやすい作業であり、ソフトウェアの安全性・開発効率・保守性を損なう要因だった。Javaではガベージコレクションの機能があるため、このようなことは無く、プログラマの負担は大きく軽減される。 Javaの文法は、CおよびC++から多くを引き継いでいる。また、C/C++には存在する低水準領域を操作できるポインタという機構は排除されていると言われているが、Javaの開発者も言っているように、C/C++のポインタモデルとは異なるがJavaにもポインタモデルが存在する。たとえば、クラスインスタンスと配列はポインタを使用している。これは、"ClassName a = new ClassName();"と"ClassName b;"を定義し"b = a"とすることにより、bはaのフィールドを操作できる。すなわち、a,bにはアドレスが設定されている。同様にして、配列名に格納されるのもアドレスである。このように、インスタンス名(上記のaやb)には、バージョン1.2以前はオブジェクトハンドル(ポインタのポインタ)、バージョン1.3以降はポインタが設定されている。よって、Javaは当初から現在までポインタとは切っても切れない関係にある。これについては、Javaのホワイトペーパー[1]に「C/C++とJavaの最大の違いは、Javaには、メモリへの上書きおよびデータ喪失の可能性を排除するポインタモデルがあることである。そこでは、ポインタ演算の替りに真の配列が用意されており、添字チェックを可能としている。なお、任意の整数をポインタに型変換することは、不可能である。」と解説されている。 Javaではプラットフォーム非依存を目標の一つとし、またバージョン間の互換性に注意して開発が進められている。Java技術を使うことで、プラットフォームに依存しないアプリケーションソフトウェアの開発と配備を行うことができる。従来のプログラミング言語の多くはプラットフォーム (CPU) に依存したネイティブなコードにコンパイルすることを前提として設計されていたが、Javaはこうした言語と異なり、中間言語(バイトコード)にコンパイルされ、Java仮想マシンで実行されるよう設計された。多くの場合、ジャストインタイムコンパイル方式が使われる。 プラットフォーム非依存とバージョン間の互換性の目標は、完全に達成できたわけではなく課題が残っている。 Javaではスレッドを言語仕様で規定しており、マルチスレッドによる並行計算を、従来の言語と比べて簡単に実装することができる。なお並行計算は、複数の処理を同時に実行する処理形態である。またスレッドは、プロセスより小さく軽量な処理の単位である。 Javaでは充実したライブラリにより、コンピュータネットワークを活用するソフトウェアを、効率良く開発することができる。Javaはその初期のバージョンから、TCP/IPのライブラリを備えていた。分散オブジェクト環境 (Java RMI, CORBA) のソフトウェアの開発も早い時期からできるようになっていた。近年では、さまざまなネットワークプロトコルの高水準なライブラリが使えるようになっている。充実したネットワーク機能と次に述べるXML文書を扱う機能を有効に組み合わせることにより、これまでにない高度なシステムの構築ができる言語の一つである。 XML文書を扱う機能も早期に実用化された。XMLは、広く普及している構造化文書の技術である。近年では、XMLプロセサとXSLTプロセサがJava標準ライブラリに統合され提供されている。 Javaはセキュリティを考慮して設計されており、サンドボックスモデルに基づいたセキュリティ機構を備えている。セキュリティ機構を正しく実装したJava実行環境を適切に使うことで、遠隔のコンピュータ上にある実行コードを安全に実行することができる(Javaアプレット)。 また、名前空間の機構をもつ言語であり、ライブラリおよびアプリケーションに含まれる多数のJavaのプログラム(クラスとインタフェース)は、パッケージという階層構造で管理することができる。 Javaに対しては批判も少なくない。いくつかの批判に対しては、サンやJCPに参加する人々の努力により、Javaの改良が行われている。一方で現在、多くのソフトウェア開発者は、Javaについて、広く使われている言語としては優れた技術の一つと評価している。 JavaScript (ECMAScript) は、Javaとは直接の関係は無いが、Javaと似た言語名称と構文を持っている。 表記はJのみが大文字の「Java」が正しい。「JAVA」は正式な表記ではない 近くのコーヒーショップで供されていたコーヒーのブランドに由来すると考える人が多い。その根拠は、Java のクラスファイル(中間言語のバイトコード)の最初の4バイトが十六進記数法で必ず 0xCAFEBABE となっている事である。諸々JAVAの語源には説がある ウェブ(クライアント側) ウェブブラウザでJavaアプレットを実行する技術は、広く使われている。Javaアプレットは、ブラウザ(ウェブのクライアント側)がウェブページ内でアニメーションの表示やマウスによるインタラクティブな操作を可能とする技術である。ただし、いくつかの有力な競合技術も存在する。近年では、Yahoo! Games やビデオプレイヤーなどのアプリケーションで、Javaアプレットを採用する事例が多い。 かつては、Javaアプレットを使用したサイトを表示すると、数十秒~数分間操作を受け付けないブラウザが存在した。近年は、JavaおよびJavaアプレットの技術の向上により、環境によって動作が異なったり、実行速度、特に画面の描画が遅いという問題が解消されつつある。 簡単でインタラクティブなアニメーション用には、Javaアプレットよりも GIF89a や Adobe Flash を採用する事例が多い。この分野においては、最近では Ajax も普及しつつある。 ウェブ(サーバ側) 現在、ウェブのサーバ側において、Java技術 (Java EE) は広く使われている。多くのウェブサイトが、Javaサーブレット (Java Servlet) や JSP(JavaServer Pages)などの Java EE 技術を使って動的にページを生成するウェブを構築している。Javaサーブレットは2000年前後から急速に広く使われるようになり、現在では多くのウェブアプリケーション(動的なウェブページ)がサーブレットとして稼動するようになっている。 サン・マイクロシステムズが開発したJavaサーブレット技術を簡単に説明する。必ずしも厳密な説明ではない。 Java の実行環境のプロセス(サーブレットコンテナ)を起動して1.ウェブサーバのマシンに常駐させる。 2.ウェブサーバが、ウェブブラウザからアクセスされる(リクエストを受ける)。 3.ウェブサーバは、そのリクエストをサーブレットコンテナに渡す。 4.サーブレットコンテナで動くJavaプログラム(Javaサーブレット)は、受け取ったリクエストに基づき、ウェブページを動的に生成する。 5.サーブレットコンテナは、サーブレットが生成したウェブページをウェブサーバに渡す。 6.ウェブサーバは、サーブレットコンテナから受け取ったウェブページを、ウェブブラウザに返す。 サンがJavaサーブレット技術を開発した1990年代末当時、ウェブアプリケーションの開発には、次に述べるようないくつかの問題があった。 ウェブアプリケーション(動的なウェブページ)を記述するには--CGIを用いるか、MicrosoftのIISによるActive Server Pages (ASP) を用いるのが大半だった。 CGI はその特性から実行時のオーバーヘッドが高く、性能を向上することが難しかった。 ASP はサーバが高価な Microsoft Windows NT Server である必要があった。 Javaサーブレットはこれらの問題をある程度解決することができる技術だった。 デスクトップにおける展開 デスクトップ環境においては、スタンドアロンのJava (Java SE) のアプリケーションソフトウェア(Javaアプリケーション)は、これまではあまり多く使われていなかったが、近年はいくつかのソフトウェアが広く使われるようになっている。近年になって使われるようになってきた理由としては、次のことが挙げられる。 コンピュータの処理性能が急速に向上してきた。 Javaの仮想マシン(Java仮想マシン、Java VM)とJavaコンパイラが大きく改良されてきた。 使い勝手の良いJavaのデスクトップアプリケーションを簡単に開発できる強力な開発環境が、オープンソース界と商用開発企業の双方からさまざまに提供されるようになってきた。 広く使われているJavaのソフトウェアとしては、NetBeansおよびEclipse SDKの統合開発環境や、LimeWireやAzureusのようなファイル共有クライアントのソフトウェアなどがある。また数学ソフトウェアMATLABにおいても、ユーザインタフェースのレンダリングと計算機能の一部を実現するために使われている。多くの Java のSwingやSWTのウィジェット・ツールキットを使ったアプリケーションが、現在も開発されている。 このように、近年はデスクトップ上でJavaアプリケーションを使う事例が増えつつあるものの、従来は次に述べるいくつかの理由のためにあまり使われてこなかった Javaアプリケーションは、Java実行環境のオーバーヘッドのため、ネイティブアプリケーションと比べて、大量のメモリを使うことが多い。 グラフィカルユーザインタフェース (GUI) は実行対象となるプラットフォーム特有のヒューマンインタフェースガイドライン (HIG) を考慮しない傾向があった。HIG を考慮したアプリケーションを開発することによって、ユーザはアプリケーションをすぐに使い慣れることができる。また、デフォルトではフォントスムーシングが使えない。そのためユーザインタフェースの文字列(テキスト)の表示の品質が低くなってしまう。 Java開発キット (JDK) として無償で提供される基本的な開発環境は、使い勝手の良いデスクトップアプリケーションを簡単に開発するには、力不足だった。 近年では先述したとおり、使い勝手の良いJavaのデスクトップアプリケーションを簡単に開発できる強力なツールが、オープンソース/商用ともに提供され使えるようになっている。 Java実行環境 (JRE) はこれまで数度のメジャーバージョンアップを経ており、複数のバージョンが存在する。ユーザはJavaアプリケーションを使い始める際には、必要に応じて、そのアプリケーションが動くバージョン、もしくはそのバージョンより新しいバージョンのJava実行環境をインストールする必要があった。--Java実行環境は、7MB 以上のサイズであり、そのダウンロードとインストールもやや不便な手順をふむ必要があった。 近年では Java Web Startの登場によりダウンロードとインストールも自動化され、ブラウザでJavaアプリケーションを見つけるとクリック一回でJREのダウンロード、インストール、アップデートなどをその場で済ませて Java Web Start 対応Swingアプリケーション実行が可能になっている。 一部のソフトウェア開発者は、情報技術はウェブを基盤としたモデルが主流となっており、スタンドアロンアプリケーションは流行遅れであり、新しいプログラミング技術は優れたウェブアプリケーションを開発することに充てられている、と思っていた。この見解については、ソフトウェア技術者の間で賛否が分かれている。 現在では、リッチクライアントやWeb 2.0の登場により新たなパラダイムが生まれようとしている。すなわちウェブを基盤としたウェブアプリケーションとスタンドアロンアプリケーションの融合である。ウェブアプリケーションをAjaxや Java Web Start、Adobe Flash などと組み合わせることにより、Web2.0時代に見合ったより洗練されたアプリケーションを開発することができる。 パーソナルコンピュータにおける実行環境 現在、ほとんどの パーソナルコンピュータ (PC) のユーザは、何ら問題なくウェブおよびデスクトップ環境上でJavaアプリケーションを実行できる。多くのPCメーカーは、自分たちが製造・販売する Windows PCにJava実行環境 (JRE) を同梱している。アップルの Mac OS X や、多くのLinuxディストリビューションでも、Java実行環境を同梱している。そのため、マイクロソフトが2001年頃以降にJava実行環境をWindowsに同梱していないことの影響は小さい。 2001年頃にマイクロソフトによるJava実行環境をWindowsに同梱することを止めたという行動は、サン・マイクロシステムズが同社を「品質の低い」Java実行環境を同梱してきたとして告訴したことが契機となった。マイクロソフトがそれまでWindowsに同梱してきたJava実行環境向けに開発されたJavaプログラムは、他のプラットフォームのJava実行環境で動かない可能性があった。 しかし近年では、Javaアプリケーションパッケージ自体にJava実行環境を同梱する事例が少なくない。その背景にはJavaアプリケーション開発者の判断がある。Javaアプリケーションが想定どおりに機能するよう、Java実行環境のバージョンの違いによる非互換性に基づく不具合を避けるために、PCに同梱されているJava実行環境を使わないという判断である。 現在では、Javaアプレットは動作対象のJava実行環境のバージョンを認識することができる。また、バージョン間の互換性も プログラミング言語の中では高い水準にあり、上位互換性については java SE 1.3 以降は大きな問題はほぼおきにくくなっている。さらに Java Web Start ではデスクトップにインストールされているJavaのバージョンを確認してアップデートできるならアップデートし、それだけでなく Java Web Start 対応アプリケーションをもアップデートしようとする。そのため古いバージョンのJava実行環境を使っているマシンがあったとしても、自動アップデートされるためにそう難しい問題は起きない。 組み込みシステム 組み込みシステム向けの Java (Java ME) も広く使われている。 携帯機器(携帯電話・PHSやPDA・スマートフォン等)にJavaの実行環境が実装されるケースが多い。Java環境はこれら携帯機器全般に広く普及している。一方、 Symbian および BREW は携帯電話や(日本的定義での)スマートフォンを主なターゲットとし、Javaと競合している。 Java MEでは、BREWとは異なり、開発者がライセンス料を支払わずに、プログラムを開発することができる。Java MEはSymbianより広く普及している。その理由は、Java MEがSymbianより広範な携帯機器、特に廉価なモデルで動作するからである。こうした事情からサードパーティによりOpera miniのようなフリーのJavaソフトウェアを開発することができるようになった。 携帯機器のJava MEプログラムは、サンドボックスのもとで動くため、多くの開発者が特別な配慮をせずにプログラムを開発しても、安全に実行できる。携帯機器のJava技術が多様化するに伴い、異なるメーカーの携帯機器でもJavaプログラムが動くよう、携帯機器のためのJava技術の標準が必要となった。携帯機器のためのJava MEの標準がMobile Information Device Profile (MIDP) である。最初の標準はMIDP 1で、小さい画面を想定したものであり、音声機能は無く、プログラムサイズは32kBまでという制限があった。後のMIDP 2の標準では、音声機能を備え、プログラムサイズの制限は64kBまでと緩和された。携帯機器の設計の進歩は標準化よりも急速であるため、一部のメーカーは、MIDP 2標準の最大プログラムサイズなどいくつかの制限を、意図的に緩和して携帯機器を開発している。 携帯機器におけるJava MEの競合技術について簡単に述べる。 Symbianの技術は、シンビアンが開発した携帯電話向けのユーザインタフェースフレームワークを備えたプラットフォームであり、マルチスレッド機能やメモリ保護機能をもつ。開発用言語はC++やJava MEなどである。Java と同様に、開発者がライセンス料を支払わずに、プログラムを開発することができる。 BREWの技術は、クアルコムが開発し推進している、携帯電話向けのプラットフォームである。開発用言語は C/C++ である。Javaと異なり、プログラムを開発するために、開発者がライセンス料を支払う必要がある。BREWプログラムは、携帯電話利用者に課金する機能にアクセスすることができる。この課金機能は、クアルコムが管理する厳重な承認機能を、必要とする。この承認機能により、ライセンス料を徴収することができ、また携帯電話ごとにどの BREW プログラムが使えるかを制御することができる。BREWを採用する携帯電話事業社は、排他的なコンテンツ配布の技術を使うことができる。一部の携帯電話事業社はこのコンテンツ配布技術から利益を得ることができると考えている。 世界的な動向としては、 GSMの方式を採用するほとんどの携帯電話事業社は、Javaを採用する傾向がある。 CDMAの方式を採用する携帯電話事業社の多くは、BREWを採用する傾向がある。ただし例外的に、CDMA式を採用するアメリカ合衆国の携帯電話事業者 Sprint Nextel Corporation は、Javaを採用している。 Symbian のスマートフォンは、スマートフォン市場で85%を占有している。 Javaの実装は携帯機器(携帯電話・PHSやPDA・スマートフォン等)に広く普及している。 また、2001年にはソニーのコンシューマゲーム機 PlayStation2 にJava 仮想マシンが搭載される予定と発表され話題になった。 クラスライブラリなどを含めた、Javaバイトコードの実行環境と開発環境(広義のJava)については、Javaプラットフォーム 言語の文法に関してはJavaの文法 バージョン JDK 1.0(1996年1月23日) JDK 1.1(1997年2月19日) J2SE 1.2(1998年12月8日) J2SE 1.3(2000年5月8日) J2SE 1.4 (2002年2月6日) J2SE 5.0(2004年9月30日) Java SE 6(2006年12月11日) Java SE 6 Update 10 Java SE 7(2011年7月28日) Java SE 8 http //java.com/
https://w.atwiki.jp/ce00582/pages/3701.html
import java.awt.*; import java.awt.event.*; import java.awt.image.*; class game0603 extends Frame{ PixelGrabber pg; Color col; Image img; int w=500; int h=500; int red,green,blue; int pix[]=new int[w*h]; int memor[][]=new int[h][w]; int memog[][]=new int[h][w]; int memob[][]=new int[h][w]; int mx,nx,m,n; int m1,n1,m2,n2; String s1,s2,s3,s4; game0603(){ s1="pic.jpg"; catchimg(s1); } public static void main(String[] args) { game0603 f = new game0603(); f.setSize(700,700); f.setBackground(Color.blue) ; f.setVisible(true); f.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}}); } public void paint( Graphics g ) { g.setColor(Color.blue); g.fillRect(0,0,700,700); mx=1; nx=1; for (mx=0;mx h;mx++){ for (nx=0;nx w;nx++){ g.setColor(new Color(memor[mx][nx],memog[mx][nx],memob[mx][nx])); g.fillRect(nx,mx,1,1); } } } void catchimg(String s){ img = createImage(w,h); img = Toolkit.getDefaultToolkit().getImage(s); pg = new PixelGrabber(img,0,0,w,h,pix,0,w); try{pg.grabPixels();}catch(InterruptedException ie){} m=0; n=0; for(int i=0;i w*h;i++){ int p = pix[i]; col=new Color(pix[i]); red=col.getRed(); green=col.getGreen(); blue=col.getBlue(); memor[m][n]=red; memog[m][n]=green; memob[m][n]=blue; n=n+1; if (n==w)m=m+1; if (n==w)n=0; } } }
https://w.atwiki.jp/ce00582/pages/3208.html
import java.awt.*; import java.awt.Graphics; import java.awt.event.*; class game0204 extends Frame implements Runnable{ Frame f; Thread th; int gun; int dg; public static void main(String[] args){ Frame f=new game0204(); f.setTitle("game0204"); f.setSize(700,700); f.setBackground(Color.yellow); f.show(); } game0204() { addWindowListener(new stopwin()); setLayout(new FlowLayout()); Button bu1 = new Button("migi"); bu1.addActionListener(new beck()); add(bu1); bu1.setActionCommand("c1"); Button bu2 = new Button("hida"); bu2.addActionListener(new beck()); add(bu2); bu2.setActionCommand("c2"); setVisible( true ); gun=250; dg=10; th=new Thread(this); th.start(); } class beck implements ActionListener { public void actionPerformed(ActionEvent e) { if ("c1".equals(e.getActionCommand()))dg=10; ; if ("c2".equals(e.getActionCommand()))dg=-10; } } class stopwin extends WindowAdapter{ public void windowClosing(WindowEvent we){System.exit(0);} } public void paint( Graphics g ) { g.setColor(Color.yellow); g.fillRect(0,0,700,700); gun=gun+dg; g.setColor(Color.red); g.fillRect(gun,350,10,10); } public void update(Graphics g) { paint(g); } public void run() { int t; t=0; ; while (t 200){ repaint(); try{th.sleep(100);} catch(InterruptedException e) { } t=t+1; } } }