Google PlayストアでUnionpediaアプリを復元するために作業中です
出ていきます入ってきます
🌟ナビゲーションを改善するためにデザインを簡素化しました!
Instagram Facebook X LinkedIn
あなたのロゴとドメインを持つ独自のユニオンペディア、月額9.99 USDから
私のユニオンペディアを作成する

Javaの文法

索引 Javaの文法

Javaの文法(Javaのぶんぽう)の記事では、プログラミング言語Javaの構文(シンタックス、syntax)について解説する。また、それ以外についても解説している。

目次

  1. 118 関係: Active Server Pages加法基本多言語面型システム半精度浮動小数点数単精度浮動小数点数単項演算多重定義契約プログラミング三項演算子乗法予約語引用符例外処理ナノ秒ミューテックスミリ秒マーカーインタフェースバックスペースキーバックスラッシュバイト (情報)ポリモーフィズムポーリング (情報)メソッドメソッド (計算機科学)メタデータメタクラスリテラルリフレクション (情報工学)リスコフの置換原則ボックス化ブーリアン型プリミティブ型プリミティブラッパークラスパッケージパッケージ (Java)ビル・ジョイビット演算データ型ディレクティブフィールドフィールド (計算機科学)列挙型イミュータブルインスタンス化インタフェース (抽象型)イテレータウェブページウェブブラウザオーバーライド... インデックスを展開 (68 もっと) »

  2. Java

Active Server Pages

はマイクロソフトが開発したウェブページを動的に作成する技術である。後継であるASP.NETの登場により、ASPのことをクラシックASPと表現することもある。 HTMLなどのマークアップ言語とVBScriptやJavaScriptなどのスクリプト言語を組み合わせることで成り立つ。ウェブページ間のデータのやりとりが容易であるため、電子商取引(インターネットを通じた通信販売)などで活用されている。同様の技術として、Javaサーブレット、JavaServer Pages (JSP)、PHPなどがある。 ASPを動作させるためのWebサーバはInternet Information Services (IIS) や (PWS) があり、IISは当初マイクロソフトのサーバ向けOS (Windows NT Server、Windows 2000 ServerWindows Server 2003) にのみ付属していたが、現在ではホーム/ビジネス向けOS (Windows XP Professional、Windows Vista)にも付属されている。PWSはWindows 95、Windows 98にインストールすることが出来る。またWindows Me以降PWSの更新は行われておらず、マイクロソフト製のWebサーバはIISに一本化されている。

見る Javaの文法とActive Server Pages

加法

加法(かほう、addition, summation)とは、数を合わせることを意味する二項演算あるいは多項演算で、四則演算のひとつ。足し算(たしざん)、加算(かさん)、あるいは寄せ算(よせざん)とも呼ばれる。また、加法の演算結果を和(わ、)という。記号は「+」。 自然数の加法は、しばしば物の個数を加え合わせることに喩えられる。また数概念の拡張にしたがい、別の意味を持つ加法も考えられる。たとえば実数の加法は、もはや自然数の加法のように物の個数を喩えに出すことは出来ないが、曲線の長さなど別の対象物を見出せられる。 減法とは互いに逆の関係にあり、また例えば、負の数の加法として減法が捉えられるなど、加法と減法の関連は深い。これは代数学において加法群の概念として抽象化される。

見る Javaの文法と加法

基本多言語面

基本多言語面(きほんたげんごめん、Basic Multilingual Plane, BMP)は、ISO/IEC 10646の第0群第0面およびUnicodeの第0面。最初の65536の符号位置である000016~FFFF16からなる。 最もよく使う、基本的な文字・記号のほとんどが含まれる。 UCS-2は、BMPのみからなる。また、Unicode 3.0までのUnicodeは、BMPのみからなっていた。

見る Javaの文法と基本多言語面

型システム

型システム(かたシステム、type system)は、コンピュータプログラミングの数々の構成要素および値に対して、型(type)と呼ばれる特性を付与するための数々の規則群から成立している形式体系である。型の付与は、型付け(typing)と言われる。例えば、変数・式・関数・モジュール・オブジェクトなどが型の付与対象になり、それらの型付け要素を規則的な関係でまとめたデータ構造にも型は付与されてカテゴライズされる。 型システムの目的は、プログラムエラーとバグの発生を抑止することである。そのための型安全性とは、各計算および各オペレーションでの型エラー(不正計算、ロジックエラー、バッファオーバーフロー、不正ポインタなど)の発生を防止することと同義になる。

見る Javaの文法と型システム

半精度浮動小数点数

半精度浮動小数点数(はんせいどふどうしょうすうてんすう、half-precision floating point number)は浮動小数点方式で表現された数(浮動小数点数)の一種で、16ビット(2オクテット)の形式によりコンピュータ上で表現可能な浮動小数点数である。 IEEE 754-2008ではbinary16と名づけられている他、処理系や文脈によってs10e5やhalf、fp16などと表記される。

見る Javaの文法と半精度浮動小数点数

単精度浮動小数点数

情報処理において、単精度浮動小数点数 (たんせいどふどうしょうすうてんすう、single-precision floating-point number)は、コンピュータの数値表現の一種である。 本来の単精度浮動小数点数とは、倍精度浮動小数点数に対比して使われる用語であって倍精度浮動小数点数が無いシステムであれば単に浮動小数点数と呼ばれるべきものである(また浮動小数点数はもともと固定小数点数と対比させた言葉であった)。 そうして、単精度はシステムの基本となる精度であり、バイトマシン(キャラクターマシン)が普通になる前のワードマシンにおいて1語長分の記憶場所を占める浮動小数点数であるのが普通である。

見る Javaの文法と単精度浮動小数点数

単項演算

単項演算とは、数学で、被作用子(オペランド)が一つだけであるような演算(つまり、入力が一つの演算)のこと。 たとえば、論理否定は真理値に対する単項演算であり、自乗は実数に対する単項演算である。階乗 n! も単項演算である。与えられた集合 S に対する単項演算は、関数 S→S に他ならない。 プログラミング言語においても、単項演算子のある言語もある。C言語の例を挙げる。

見る Javaの文法と単項演算

多重定義

多重定義 (たじゅうていぎ) あるいは オーバーロード (overload) とは、プログラミング言語において同一の名前(シンボル)を持つ関数あるいはメソッドおよび同一の演算子記号について複数定義し、利用時にプログラムの文脈に応じて選択することで複数の動作を行わせる仕組みである。 例えば整数型や浮動小数点型、複素数型の値について同じ「abs」という関数を定義して絶対値を求める、型ごとに個々の意味で名前やIDを返す関数を定義するなどが挙げられる。多重定義する対象に応じてそれぞれ関数の多重定義function overloading、演算子の多重定義operator overloading、メソッドの多重定義method overlodingと呼ばれる。メソッドの多重定義の特殊なケースとして、コンストラクタの多重定義がある。また、Common Lispなどでは、多重定義可能な関数としてgeneric function(:en:Generic function)がある(このgenericはジェネリックプログラミングのジェネリックである)。

見る Javaの文法と多重定義

契約プログラミング

契約プログラミング(けいやくプログラミング、Contract programming)または契約による設計(けいやくによるせっけい、Design by Contract; DbC)は、ソフトウェアの正確性 において、ソフトウェアの正確さはと定義されている。と頑健性 において、ソフトウェアの頑健さはと定義されている。ここで「異常な状態」とは仕様によって示されていない状態を指す。を高めるためのソフトウェア設計の方法論である。DbC はロバート・フロイド、アントニー・ホーア、エドガー・ダイクストラらの形式的検証の仕事を基礎にしている。DbC は(抽象データ型に基づく)オブジェクト指向プログラミングにおける表明の利用や、継承に伴う表明の再定義の原理的規則、例外処理の原理的規則などを提供する。

見る Javaの文法と契約プログラミング

三項演算子

数学における三項演算子(さんこうえんざんし、ternary operator)とは、3つの被演算子を持つ演算子のことである。 集合 上の三項演算は の任意の元3つから の元を1つ生成する。このような三項演算の例としてジョルダン三項積など三項系における三項積や、の積がある。

見る Javaの文法と三項演算子

乗法

乗法(じょうほう、multiplication)は、算術の四則演算と呼ばれるものの一つで、整数では、一方の数 (被乗数、ひじょうすう、multiplicand) に対して他方の数 (乗数、じょうすう、multiplier) の回数だけ繰り返し加えていく(これを掛けるまたは乗じるという)ことにより定義できる二項演算である。掛け算(かけざん)、乗算(じょうざん)とも呼ばれる。代数学においは、変数の前の乗数(例えば 3y の 3)は係数(けいすう、coefficient)と呼ばれる。 逆の演算として除法をもつ。乗法の結果を積 (せき、product) と呼ぶ。 乗法は、有理数、実数、複素数に対しても拡張定義される。また、抽象代数学においては、一般に可換とは限らない二項演算に対して、それを乗法、積などと呼称する(演算が可換である場合はしばしば加法、和などと呼ぶ)。

見る Javaの文法と乗法

予約語

とは、プログラミング言語などの人工言語の仕様に定められているもので、ユーザープログラムの開発者が自分で付ける識別名としては利用できない特定の文字列のこと。たとえば変数名や関数名などに使用することができない、とあらかじめ定められた文字列(単語、字句など)のこと。あるいは、プログラミング言語などにおいて、固定された意味を持っており、その結果、プログラマーの側ではその意味を再定義できない語。

見る Javaの文法と予約語

引用符

引用符を用いて注意喚起をしている看板(日本語) は、約物の一つ。文中において、他の文や語を引用していることを示す役割を果たす記号で、多くの場合一対で引用部分を囲む。引用符号とも呼ばれ、またその英語からコーテーションマーク、クォーテーションマーク、クオーテーションマーク(quotation mark、comillas)と呼ぶ場合も多い。

見る Javaの文法と引用符

例外処理

例外処理(れいがいしょり、)とは、IT業界で用いられる専門用語で、ある抽象レベルにおけるシステムの設計で想定されておらず、ユーザー操作によって解決できない問題に対処するための処理である。例外処理の結果として問題が解決されないとシステム障害になる。システム停止やデータ破損の原因になり、ユーザーに損害を与える可能性があるため、システム開発で例外処理は重要視されている。 システムの設計で想定されておらず、継続不能や継続すると問題になる様な状態としては、次のようなものが挙げられる。

見る Javaの文法と例外処理

ナノ秒

ナノ秒(ナノびょう、nanosecond、記号: ns)は、10億分の1秒 (10 s, s) に等しい時間の単位である。 「ナノ秒」という語は、SI接頭語「ナノ」とSI基本単位「秒」で構成されている。その記号は ns である。 1ナノ秒は1000ピコ秒および マイクロ秒に等しい。次のSI単位が1000倍大きいので、10 秒および10 秒のオーダーの時間は、通常、数十ナノ秒および数百ナノ秒として表現される。 この大きさの時間は、電気通信、パルスレーザー、電子工学の分野でよく使用される。ナノ秒で表される時間については時間の比較を参照。

見る Javaの文法とナノ秒

ミューテックス

ミューテックス (mutex) とは、コンピュータプログラミングにおける技術用語。クリティカルセクションでアトミック性を確保するための排他制御や同期機構の一種である。「mutex」という語は「mutual exclusion」 (相互排他、排他制御) の省略形である。ここでは、狭義の排他制御について述べる。

見る Javaの文法とミューテックス

ミリ秒

ミリ秒(ミリびょう、millisecond、記号: ms)は、1000分の1秒 (10 s, s) に等しい時間の単位である。 「ミリ秒」という語は、SI接頭語である「ミリ」とSI基本単位の「秒」で構成される。その記号は ms である。 1ミリ秒は1000マイクロ秒および 秒 に等しい。SI接頭語「センチ」「デシ」を使って、10ミリ秒( 秒)に等しい「センチ秒」(centisecond)、100ミリ秒( 秒)に等しい「デシ秒」(decisecond) といった単位も定義はできるが、通常これらの単位が用いられることはなく、数十ミリ秒および数百ミリ秒として表される。トラックレースや競馬・競泳の競走などでは10ミリ秒または100ミリ秒単位で計時される。

見る Javaの文法とミリ秒

マーカーインタフェース

マーカーインタフェース (marker interface) とは、オブジェクト指向プログラミングにおいて、メソッドやフィールドが一切定義されていないインタフェース。 Javaではオブジェクトをシリアライズできることを示す、のclone()メソッドが呼び出せることを示す、リストにおいて高速なランダムアクセスを実現するがある。 いずれもinstanceofの右オペランドとして使用され、インスタンスのクラスごとに実装を選択するなど、実行時にオブジェクトに関する「ヒント」を得るために使われている。 Javaにおけるマーカーインタフェースの書き方の例を示す。 interface SomeMarkerInterface。

見る Javaの文法とマーカーインタフェース

バックスペースキー

バックスペースキー バックスペースキー(backspace key)とは、タイプライター、ワードプロセッサー、コンピュータなどで使用されているキーボードのキーの一つ。通常は「BackSpace」、「BS」、「後退」、左向き矢印などが刻印されている。BSキー、後退キーとも言う。 「バックスペース」は本来は、タイプライターでキャリッジを1文字前分後退するためのキーであった。現代のコンピュータでは、ディスプレイ上のカーソルを1文字前分後退して、そこにあった文字を削除し、その位置以降のテキストを前にずらす働きをするここで言う「後退する」とは、左から右に書かれる言語では「左へ移動する」という意味である。

見る Javaの文法とバックスペースキー

バックスラッシュ

バックスラッシュ(backslash)、逆斜線(ぎゃくしゃせん)、あるいはリバースソリダス(reverse solidus)は、約物の一つで、「 」と書き表される。バックスラッシュとはスラッシュ「 / 」の逆という意味である。ただしスラッシュとは異なり、自然言語ではほぼ使われることのない記号である。 バックスラッシュと円記号 (¥) の問題については、円記号も参照のこと。

見る Javaの文法とバックスラッシュ

バイト (情報)

バイトとビット バイト (byte) は、「複数ビット」を意味する、データ量あるいは情報量の単位である。 1980年頃から1バイトは8ビット (bit) であることが一般的であり、 正式に定義されたのは2008年発行のIEC 80000-13である。8ビットは、256個の異なる値(たとえば整数であれば、符号無しで0から255、符号付きで−128から+127、など)を表すことができる。

見る Javaの文法とバイト (情報)

ポリモーフィズム

ポリモーフィズム()とは、それぞれ異なる型に一元アクセスできる共通接点の提供、またはそれぞれ異なる型の多重定義を一括表現できる共通記号の提供: "Polymorphic types are types whose operations are applicable to values of more than one type."を目的にした、型理論またはの概念および実装である。この用語は、有機組織および生物の種は様々な形態と段階を持つという生物学の概念からの借用語である。多態性、多相性と邦訳されることが多い。 ポリモーフィズムは、通常以下の三種に分けられる。; アドホック多相:(ad hoc polymorphism); パラメトリック多相:(parametric polymorphism); サブタイピング:(subtyping) この他に、(row polymorphism)とポリタイピズム(polytypism)も挙げられることがある。対義語はモノモーフィズム(Monomorphism)である。

見る Javaの文法とポリモーフィズム

ポーリング (情報)

ポーリング(polling)とは、通信やソフトウェアにおいて、競合を回避したり、送受信の準備状況を判断したり、処理を同期したりするために、複数の機器やプログラムに対して順番に定期的に問い合わせを行い、一定の条件を満たした場合に送受信や処理を行う通信及び処理方式のことである。 ポーリングが使用される状況は、主として次のようなものがある。;複数のクライアントが接続している場合;クライアントが単一であっても、能動的な送信能力を持たない場合。

見る Javaの文法とポーリング (情報)

メソッド

メソッド、メソード()とは、方法、方式のこと。特定の分野や固有名詞では日本語訳されずカタカナのまま用いられる。

見る Javaの文法とメソッド

メソッド (計算機科学)

メソッド あるいは メンバー関数 (-かんすう) とはオブジェクト指向プログラミング言語において、あるクラスまたはオブジェクトに所属するサブルーチンを指す。

見る Javaの文法とメソッド (計算機科学)

メタデータ

メタデータ(英語:metadata)、メタ情報とは、メタなデータ、すなわちデータについてのデータという意味で、あるデータが付随して持つそのデータ自身についての付加的なデータを指す。

見る Javaの文法とメタデータ

メタクラス

オブジェクト指向プログラミングにおいてメタクラスとは、インスタンスがクラスとなるクラスのことである。通常のクラスがそのインスタンスの振る舞いを定義するように、メタクラスはそのインスタンスであるクラスを、そして更にそのクラスのインスタンスの振る舞いを定義する。全てのオブジェクト指向プログラミング言語でメタクラスが利用できるわけではない。利用できるものの中でもクラスの振る舞いが定義できる範囲は様々である。各言語はそれぞれ独自のメタオブジェクトプロトコル(MOP)を備えている。メタオブジェクトプロトコルとは、クラスそのものの挙動をもオブジェクト指向のルールで記述し、初期化やインスタンス化のルール、実行状態の管理などをカスタマイズする機構である。

見る Javaの文法とメタクラス

リテラル

リテラル・直値(literal)は、「文字どおり」「字義どおり」を意味する語で、 と同じくラテン語の (文字)に由来する。数理論理学とコンピュータプログラミングで異なる意味の専門用語として使われる。

見る Javaの文法とリテラル

リフレクション (情報工学)

情報工学においてリフレクション (reflection) とは、プログラムの実行過程でプログラム自身の構造を読み取ったり書き換えたりする技術のことを指す。

見る Javaの文法とリフレクション (情報工学)

リスコフの置換原則

リスコフの置換原則の概念は、バーバラ・リスコフにより初めて導入された。2010年に撮影された写真。 リスコフの置換原則(りすこふのちかんげんそく、Liskov substitution principle)は、オブジェクト指向プログラミングにおいて、サブタイプのオブジェクトはスーパータイプのオブジェクトの仕様に従わなければならない、という原則である。リスコフの置換原則を満たすサブタイプを と呼ぶ。 リスコフの置換原則の概念は最初、1987年10月のOOPSLAでのバーバラ・リスコフの基調講演 にて、インフォーマルな形で紹介された。より形式的な定義は1994年のリスコフとの共著論文 “” で与えられた。

見る Javaの文法とリスコフの置換原則

ボックス化

ボックス化(boxing)とは、プログラミング言語において値型をオブジェクト型(参照型)に変換すること。逆に、ボックス化されたオブジェクトを値型に戻すことをボックス化解除(unboxing)と呼ぶ。

見る Javaの文法とボックス化

ブーリアン型

ブーリアン型(ブーリアンがた、Boolean datatype)は、真理値の「真。

見る Javaの文法とブーリアン型

プリミティブ型

プリミティブ型またはプリミティブデータ型(primitive data type)は、データ型の分類用語であり、データ型の中で最も基本的なものを指している。基本データ型(basic data type)とも言われる。プログラミング言語の仕様に組み込まれる形で標準的に用意されていることから、言語によっては組み込み型(built-in type)と呼ばれることもある。直訳して原始型と呼ばれることもある。 対義的な分類用語は、(composite data type)である。コンポジット型、コンポジットデータ型、あるいは複合型とも呼ばれる。複合データ型は、プリミティブ型および複合データ型の構造的または再帰的な組み合わせ(コンポジション)で形成されるデータ型である。なお、「コンポジットデータ型」という用語は、PL/SQLにおける「スカラーデータ型」の対義語としても用いられている。

見る Javaの文法とプリミティブ型

プリミティブラッパークラス

プリミティブラッパークラス (primitive wrapper class) とは、Javaにおける、プリミティブ型をラップする パッケージが提供する8つのクラスのこと。プリミティブラッパークラスは不変であり、オブジェクト指向のメソッドを提供する。 Javaにおけるプリミティブ型はオブジェクト型ではなく、そのままではオブジェクトとして扱うことができない。プリミティブラッパークラスはプリミティブ型の値に対応したが必要なときにそれを表すものとして使われている。ラッパークラスはパッケージにあるクラス群、パッケージにあるリフレクション用クラス群とともに広く使われている。 プリミティブ型の値からラッパーオブジェクトに変換することを「ボックス化」(ボクシング)、ラッパーオブジェクトからプリミティブ型の値に変換することを「ボックス化解除」(アンボクシング)と呼ぶ。

見る Javaの文法とプリミティブラッパークラス

パッケージ

パッケージ、パック。

見る Javaの文法とパッケージ

パッケージ (Java)

Javaパッケージ(Java package)は名前空間の中にあるJavaクラスをまとめるメカニズムである。Javaパッケージは、JARファイルと呼ばれる圧縮ファイルの中に保存することができ、クラス群を一つのグループとしてまとめた方が1つずつダウンロードするよりも高速化される。プログラマも一般に同じカテゴリに属しているクラスや類似した機能を提供するクラスをまとめたパッケージを使う。 Javaソースファイルはファイルの先頭にソースファイルが定義したクラスのパッケージを明示するpackage構文を含むことができる。

見る Javaの文法とパッケージ (Java)

ビル・ジョイ

ウィリアム・ネルソン・ジョイ(William Nelson Joy, 1954年11月8日 - )、通称ビル・ジョイ(Bill Joy)は、アメリカ合衆国のコンピュータ科学者でありコンピュータ技術者。KPCB パートナー。元サン・マイクロシステムズチーフサイエンティスト。BSD開発の初期にまとめ役として働き、viテキストエディタを開発したことで知られている。 漢字を勉強したことがあり、来日した際のサインなどで、名前を「美流上位」と書いている。

見る Javaの文法とビル・ジョイ

ビット演算

ビット演算(ビットえんざん、)とは、主にコンピュータで行われる演算のひとつで、データをビット列(つまり0か1が多数並んだもの)と見なして、各ビットの移動やビット単位での論理演算を行うものIT用語辞典 e-words【ビット演算】。

見る Javaの文法とビット演算

データ型

Pythonの標準データ型階層 データ型(データがた、)とは、コンピュータプログラミングや計算機科学において、属性を持つデータを分類し、その扱われ方をコンパイラやインタープリタに知らせるプログラム。単に型(かた、Type)とも言われる。 多くのプログラミング言語は、整数型・浮動小数点型・ブール型・文字型といった基本データ型を備えている。計算対象にされるデータは、しばしば値(value)と言われる。データ型は式内の値を制約して、関数への適用可能性や変数への代入可能性を定義する。データ型は、値の集合の概念と近似している。

見る Javaの文法とデータ型

ディレクティブ

プログラミングにおける指示 (directive,ディレクティブ)とは, 特に手続き型プログラムの構成要素の一つを指す用語であり, 〔手続き型プログラムの〕制御部にあって,その性質によって手続き部の起動・終了を従わせる。

見る Javaの文法とディレクティブ

フィールド

フィールド()は、英語で野(の)・場・領域などを意味する語である。物理的なものだけでなく、概念的なものも含む。 以下の具体的な意味を持つ:。

見る Javaの文法とフィールド

フィールド (計算機科学)

計算機科学におけるフィールド()とは、レコードと呼ばれる複合的なデータ構造の一部分を形成する各要素のことであり、分離されたデータ項目である。フィールドは領域や欄といった意味を持つ。例えば、コンピュータではDate (日付) というデータ構造を、3つの異なるフィールド: Year (年), Month (月), Day (日) の集合によって表現することもある。

見る Javaの文法とフィールド (計算機科学)

列挙型

列挙型(れっきょがた、enumerated typeあるいはenumeration type)とは、コンピュータプログラミングにおいて、プログラマが選んだ各々の識別子(列挙子)をそのまま有限集合として持つ抽象データ型である。列挙型は一般に、カードのスートのように番号順を持たないカテゴリ変数として使われるが、実際のコンパイル時あるいは実行時には、列挙型は整数で実装されることが多い。各々の識別子は通例異なる整数値を持つが、複数の識別子に対して意図的に同じ整数値を割り当てる(つまり別名を定義する)ことも可能である。 また列挙型は、整数を使用する場合と比較して、明示的にマジックナンバーを使用するよりもプログラムソースの可読性を改善するのに役立つ。言語によっては、列挙型の整数表現はプログラマに見えないようになっていることもあり、これによりプログラマが列挙値に対して算術演算を行うような乱用を防いでいる。列挙型の定数は同じ列挙型の変数にしか代入できない(整数型の変数に代入するには明示的な型変換などが必要)という仕様になっている言語もある。

見る Javaの文法と列挙型

イミュータブル

コンピュータプログラミングにおいて、イミュータブル (immutable) なオブジェクトとは、作成後にその状態を変えることのできないオブジェクトのことである。対義語はミュータブル (mutable) なオブジェクトで、作成後も状態を変えることができる。mutableは「変更可能な」、immutableは「変更不可能な、不変の」という意味を持つ形容詞である。 あるオブジェクト全体がイミュータブルなこともあるし、C++でconstデータメンバを使う場合など、一部の属性のみがイミュータブルなこともある。場合によっては、内部で使われている属性が変化しても、外部からオブジェクトの状態が変化していないように見えるならば、オブジェクトをイミュータブルとみなすことがある。例えば、コストの高い計算の結果をキャッシュするためにメモ化を利用していても、そのオブジェクトは依然イミュータブルとみなせる。イミュータブルなオブジェクトの初期状態は大抵は生成時に設定されるが、オブジェクトが実際に使用されるまで遅らせることもある。

見る Javaの文法とイミュータブル

インスタンス化

インスタンス化(いんすたんすか、)とは、以下の意味を持つ。

見る Javaの文法とインスタンス化

インタフェース (抽象型)

インタフェース (interface) は、JavaやC#などのオブジェクト指向プログラミング言語においてサポートされる、実装を持たない抽象型のことである。これらの言語において、クラスは実装の多重継承をサポートしない代わりに、任意の数のインタフェースを実装 (implement) することができ、これにより型の多重継承をサポートする。複数の種類のオブジェクトを、インタフェースを用いた多態性によって統一的に扱うことができるようになる。インターフェイスやインターフェースなどと表記することもある。

見る Javaの文法とインタフェース (抽象型)

イテレータ

イテレータ(iterator)とは、プログラミング言語において配列やそれに類似する集合的データ構造(コレクションあるいはコンテナ)の各要素に対する繰り返し処理の抽象化である。実際のプログラミング言語では、オブジェクトまたは文法などとして現れる。JISでは反復子(はんぷくし)と翻訳されている。 ジェネレータ (プログラミング) の記事も参照のこと。

見る Javaの文法とイテレータ

ウェブページ

ウェブページ (Web page, webpage) は、ウェブ上にあり、ウェブブラウザで閲覧可能な、ページ単位の文書のこと。ホームページと表記することもあるが、誤用であるという主張もある(詳しくはホームページの項を参照)。

見る Javaの文法とウェブページ

ウェブブラウザ

ウェブブラウザ(インターネットブラウザ、web browser)とは、パソコンやスマートフォン等を利用してWebサーバに接続するためのソフトウェアであり、ウェブページを表示したり、ハイパーリンクをたどったりするなどの機能がある。単にブラウザ(ブラウザー)とも呼ばれる。 主なウェブブラウザとして、Google Chrome、Safari、Microsoft Edge、Mozilla Firefox、Opera、Internet Explorer、Vivaldi等がある。Windows 7など古いOSではサポートが終了しているものがある。

見る Javaの文法とウェブブラウザ

オーバーライド

オブジェクト指向プログラミングにおいてオーバーライド (override) とは、スーパークラスで定義されたメソッドをサブクラスで定義し直し、動作を上書き(変更)することである。 例えば、あるクラスBaseにメソッドprintがあり、あるクラスDerivedがクラスBaseを継承したとする。そのとき、クラスDerivedはクラスBaseにあるメソッドprintをオーバーライドすることにより、再定義することができる。これはオブジェクト指向プログラミングにおけるポリモーフィズム(多態性)を実現する際によく使われる。 通例、オーバーライドを可能とする条件として、メソッドの名前、引数の数と型の順序、そして戻り値の型が統一されている必要がある。

見る Javaの文法とオーバーライド

オブジェクト型

オブジェクト型(オブジェクトがた、object type)。

見る Javaの文法とオブジェクト型

ガベージコレクション

ガベージコレクション(garbage collection、GC)とは、コンピュータプログラムが動的に確保したメモリ領域のうち、不要になった領域を自動的に解放する機能である。1959年ごろ、LISPにおける問題を解決するためジョン・マッカーシーによって発明された。 メモリの断片化を解消する機能はコンパクション(memory compaction)と呼ばれ、実現方法によってはガベージコレクションと共にコンパクションも行う仕組みになっている。そのためコンパクションを含めてガベージコレクションと呼ぶ場合もあるが、厳密には区別される。 また、ガベージコレクションを行う主体はガベージコレクタ(garbage collector)と呼ばれる。ガベージコレクタはタスクやスレッドとして実装される場合が多い。

見る Javaの文法とガベージコレクション

ガイ・スティール・ジュニア

ガイ・ルイス・スティール・ジュニア(Guy Lewis Steele, Jr.、1954年10月2日 - )はアメリカ合衆国の計算機科学者であり、3つの書籍の著者として知られている。あだ名は The Great Quux。ジャーゴンファイルの編集者でもあったが、その後エリック・レイモンドが改版したときにはガイ・スティール・ジュニアのイラスト付きの序文が寄せられた(MIT出版局)。Scheme 言語の共同開発者としても知られている。

見る Javaの文法とガイ・スティール・ジュニア

キャラクタ (コンピュータ)

キャラクタ (character) は、文字のことであるが、情報処理においては「文字コード」で表される「文字集合」という集合の要素(「元」)のことである。

見る Javaの文法とキャラクタ (コンピュータ)

キーワード (Java)

この項目ではJavaにおけるキーワード(予約語の記事も参照)に関して説明する。全部で50個ある。 この項目は、プログラムの細かい説明には立ち入らず、他の言語と比較できるような説明を目的としている。

見る Javaの文法とキーワード (Java)

クラス (コンピュータ)

オブジェクト指向プログラミングにおけるクラス(class)英語の class は、本来「分類」「種類」といった意味を持っている。は、オブジェクトを生成するための設計図あるいはひな形に相当するものである。抽象データ型の一つ。クラスから生成したオブジェクトの実体のことをインスタンスという。 クラスには、クラス自身またはクラスのインスタンスが保持するデータと、データに関連したオブジェクトの振る舞いを記述できる。プログラミング言語によっては、それぞれにを指定できる。統一モデリング言語 (UML) のクラス図では、データのことを「属性」、振る舞いのことを「操作」と呼ぶ。Javaなどでは、データのことを「フィールド」、振る舞いのことを「メソッド」と呼ぶ。

見る Javaの文法とクラス (コンピュータ)

コレクション

驚異の部屋の一隅を描いた絵画 コレクションは、モノを広く集めること、また集められたもの。収集、収集物、所蔵品。「収集」は「蒐集」とも書く。趣味としての収集活動に対して使われることが多いが。また、研究用資料、博物館や美術館等の所蔵作品群、近年では作家の著作集などに対しても用いられている。服飾においては、ファッションデザイナーや服飾ブランドが開催する展示会及びその作品群を指す。ただし英語ではファッションウィークと呼ぶのが一般的である(詳細はファッションショーを参照)。また、日本では一般的でないが、英語圏では募金、寄付金、献金、集金などもコレクションと呼ばれる。

見る Javaの文法とコレクション

コンストラクタ

コンストラクタ(constructor)は、オブジェクト指向のプログラミング言語で新たなオブジェクトを生成する際に呼び出されて内容の初期化などを行なう関数あるいはメソッドのことである。対義語はデストラクタ。 オブジェクトの生成は、。

見る Javaの文法とコンストラクタ

シグネチャ

シグネチャ、シグナチャ、シグニチャ(signature)は、署名の意味。

見る Javaの文法とシグネチャ

ジェネリックプログラミング

ジェネリック(総称あるいは汎用)プログラミング(generic programming)は、具体的なデータ型に直接依存しない、抽象的かつ汎用的なコード記述を可能にするコンピュータプログラミング手法である。

見る Javaの文法とジェネリックプログラミング

ジェームズ・ゴスリン

2005年夏 JavaOne カンファレンス にて (duke-rockstarのシャツ) ジェームズ・アーサー・ゴスリン(James Arthur Gosling、1955年5月19日 - )は、カナダ出身の計算機科学者である。オブジェクト指向プログラミング言語Javaの生みの親・リードデザイナーとして広く知られており、"Dr.

見る Javaの文法とジェームズ・ゴスリン

スレッド (コンピュータ)

スレッド(thread)とは、コンピュータプログラムにおいて特定の処理を行うための一貫性のある命令の流れのことであり、プロセッサ利用の最小単位。プロセスは少なくとも1つ以上のスレッドを含む。一般的に各プロセスには独立した仮想アドレス空間が割り当てられるが、プロセス内のスレッド群はアドレス空間を共有する。そのためプログラムを実行するときのコンテキスト情報が最小で済み、同じプロセス内でスレッドを切り替える際はアドレス空間の切り替えが不要となるので、切り替えが高速になる。スレッドは、thread of execution(実行の脈絡)という言葉を省略したものである。複数のスレッドを生成して個々に処理を割り当てて実行させることで、並行処理による応答性の向上などを実現でき、さらにマルチコアプロセッサを複数のスレッドによって活用することで、並列処理による実行時間の短縮などを実現できる(これらの手法をマルチスレッドプログラミングと呼ぶ)。

見る Javaの文法とスレッド (コンピュータ)

スーパークラス (計算機科学)

計算機科学においてスーパークラス (superclass) とは、他の下位クラスの派生元となる上位クラスのことである。スーパークラスは親クラスや基底クラスとも呼ばれる。スーパークラスから派生したクラスは子クラス、派生クラス、あるいはサブクラスとして知られている。クラスAがクラスBのサブクラスであるとき、「クラスAはクラスBを拡張 (extends) する」とも言える。 スーパークラスは仮想関数の使用を通じて、特殊化された機能に対する汎用インターフェイスの提供を可能にする。 スーパークラスのメカニズムは、共通の機能をモジュールとなるオブジェクトにカプセル化することで実現される再利用性を持つことから、オブジェクト指向プログラミングで広範囲に利用される。

見る Javaの文法とスーパークラス (計算機科学)

ストリーム (プログラミング)

ストリーム(stream)とは、データを、比較的小さい単位が連続したものと捉え、上流から下流へ「流れるもの」とみなし、そのデータの入出力・送受信(途中段階を含む)を最小限の滞留とさせ低遅延処理となるように扱う形態を指す。またその操作のための抽象データ型を指す。 処理内部では適切なデータ分割・バッファリングが行われる。 入力ストリーム (input stream) を利用してデータの読み出しを行ない、出力ストリーム (output stream) を利用してデータの書き込みを行なう。対照的な概念としては、保管・永続化されたデータ形態(ファイル、データベースなど)がある。 メモリバッファの入出力を扱うもの、ネットワーク通信を扱うものなどさまざまなものがある。ファイルの入出力(読み書き)に対しては、ストリームとの変換を行う仕組みが用意される。

見る Javaの文法とストリーム (プログラミング)

タブキー

タブキー() は、タイプライターやワードプロセッサ専用機あるいはコンピュータ用のキーボードのキーの一つで、カーソルを次のまで移動させるキーである。元々はタイプライターにおける図表作成機能のために使用された。

見る Javaの文法とタブキー

倍精度浮動小数点数

は、64ビットの浮動小数点数表現である。 倍精度とは単精度に対する表現であり、これは32ビットを1ワードとする32ビットアーキテクチャをもとにしている。 のFORTRANでは、単精度(REAL型)よりも精度が高ければ倍精度(DOUBLE PRECISION型)を名乗ることができた(そもそもワードの長さも浮動小数点のフォーマットも機種ごとにまちまちだった)。IBMのSystem/360で採用され大型機の事実上の標準となった、指数の基数が16の浮動小数点形式は、32ビット単精度では最悪の場合の精度が十進で6桁程度となり、技術計算では倍精度以上を使わねばならないという問題があった。(注:FORTRANではREAL型が1ワード、DOUBLE PRECISION型が2ワードという前提だった) 浮動小数点算術に関する標準であるIEEE 754では、単精度は32ビット(4オクテット)、倍精度は64ビット(8オクテット)である。いずれにしろ、「倍」というのは、精度に関係する仮数部(後述)の長さが正確に2倍である、といったような意味ではなく、全体の長さが2倍である所から来ているので、実際の所「倍精度」というのはかなり大雑把な言い方に過ぎない。

見る Javaの文法と倍精度浮動小数点数

C Sharp

C#(シーシャープ)は、マイクロソフトが開発した、汎用のマルチパラダイムプログラミング言語である。C#は、Javaに似た構文を持ち、C++に比べて扱いやすく、プログラムの記述量も少なくて済む。また、C#は、Windowsの.NET Framework上で動作することを前提として開発された言語であるが、2023年現在はクロスプラットフォームな.NETランタイム上で動作する。 デスクトップ・モバイルを含むアプリケーション開発や、ASP.NETをはじめとするWebサービスの開発フレームワーク、ゲームエンジンのUnityでの採用事例などもある。 マルチパラダイムをサポートする汎用高レベルプログラミング言語で、静的型付け、タイプセーフ、スコープ、命令型、宣言型、関数型、汎用型、オブジェクト指向(クラスベース)、コンポーネント指向のプログラミング分野を含んでいる。

見る Javaの文法とC Sharp

C++

C++(シープラスプラス)は、汎用プログラミング言語のひとつである。派生元であるC言語の機能や特徴を継承しつつ、表現力と効率性の向上のために、手続き型プログラミング・データ抽象・オブジェクト指向プログラミング・ジェネリックプログラミングといった複数のプログラミングパラダイムが組み合わされている。C言語のようにハードウェアを直接扱うような下位層向けの低水準言語としても、複雑なアプリケーションソフトウェアを開発するための上位層向け高水準言語としても使用可能である。アセンブリ言語以外の低水準言語を必要としないこと、使わない機能に時間的・空間的コストを必要としないことが、言語設計の重要な原則となっている。

見る Javaの文法とC++

短絡評価

短絡評価(たんらくひょうか、short-circuit evaluation)または最小評価(さいしょうひょうか、minimal evaluation)とは、多くのコンピュータプログラミング言語の論理演算子における左辺(第一引数)と右辺(第二引数)の式の評価法のひとつである。

見る Javaの文法と短絡評価

符号点

符号点(ふごうてん)は、符号化文字集合内の、文字を割り当てうる個々の点。コードポイント (code point)。Unicodeでは符号位置(ふごういち)と訳す。文脈によっては単に点(てん、point)ともいう。 符号点は文字を割り当て「うる」点であり、規格によっては、実際に文字を割り当てる以外に、エスケープなどの目的の文字以外の何かが割り当てられることもある。

見る Javaの文法と符号点

符号拡張

符号拡張(ふごうかくちょう、Sign extension)とは、符号付の数値を表現するビット列が格納領域のビット幅より短い場合に、隙間を適切に埋めることによって数値としての同一性を維持する手法である。 例えば、8ビットの (-10)10 という値は2の補数表現では以下のようになる。 これを16ビットに符号拡張すると以下のようになる。 符号拡張しないで16ビットの領域に格納した場合、以下のようになる これを整数として解釈すると (246)10 となってしまい、数値としての同一性が維持されない。 符号拡張にはしばしばマイクロプロセッサやコンパイラのバグが隠れていることがある。

見る Javaの文法と符号拡張

算術オーバーフロー

算術オーバーフロー(さんじゅつオーバーフロー、)あるいは単にオーバーフローは、デジタルコンピュータにおいて、演算結果がレジスタの表せる範囲や記憶装置上の格納域に記録できる範囲を超えてしまう現象、またはその結果レジスタ等に格納される値を意味する。オーバーフローは、本来演算結果を格納する場所とは違う場所に格納される場合がある。溢れ(あふれ)とも言う。 符号無し表現の加減算では、最上位桁より上の桁(存在しない桁)への繰り上がり(キャリー)や、おなじく存在しない桁からの繰り下がり(ボロー)が起きることが溢れである。フラグに保存され、キャリーフラグという名が付けられていることが多い。 加算器で2の補数を使って減算を行っていて、加算器のキャリー入出力をそのままとしている場合、繰り下がり(ボロー)のなかった場合にフラグが立ち、繰り下がりがあった場合にはフラグが立たない、というロジックになる(6502・POWER・ARM・PICなど)。

見る Javaの文法と算術オーバーフロー

継承 (プログラミング)

コンピュータプログラミングにおける継承(けいしょう、inheritance)とは、任意のオブジェクトの特性を、他のオブジェクトの特性の基礎にするためのメカニズムと定義されている。 基礎にされる継承元は親、その継承先は子と呼ばれて、状態と機能と定数と注釈などが引き継がれるが、コンストラクタとデストラクタは対象外になる。その親と子の関係を、クラスベースOOPはスーパークラスとサブクラスの関係で、プロトタイプベースOOPはプロトタイプとクローンの関係で導入している。

見る Javaの文法と継承 (プログラミング)

Do-while文

do-while文 (do-while statement) は、C言語および類似のプログラミング言語において繰り返し(ループ)の制御構造を記述するための文 (statement) のひとつである。C言語の規格では「do文」と呼ばれる。ループ本体 (loop body) の処理を一度実行した後、さらに継続条件として指定された式(制御式)を評価した値が真である間、ループ本体を繰り返し実行する。while文との違いは、ループに入る前の条件の評価が無く最初に必ず1回はループ本体が実行されることである。 なお、C言語およびC++ではゼロに等しい値を偽、ゼロ以外を真とみなす。したがって、整数型だけでなく、任意のポインタ型や浮動小数点数型の式も制御式として記述可能である。C/C++以外のブーリアン型をサポートするほとんどの言語では通例、制御式にはブーリアン型の式のみを記述できる。

見る Javaの文法とDo-while文

Extensible Markup Language

は、基本的な構文規則を共通とすることで、任意の用途向けの言語に拡張することを容易としたことが特徴のマークアップ言語の総称である。一般的にXML(エックスエムエル)と略称で呼ばれる。JISによる訳語は「拡張可能なマーク付け言語」と定義している。XML文書のフォーマットを予め統一することで、異種プラットフォーム間での情報交換も可能となる。 SGMLからの移行を目的として開発された。文法はSGMLの構文解析器と互換性を保つようにSGMLのサブセットに定められシンプルになり、機能はSGMLに無いものが追加されている。 XML の仕様は、World Wide Web Consortium (W3C) により策定・勧告されている。1998年2月に XML 1.0 が勧告された。2010年4月現在、XML 1.0 と XML 1.1 の2つのバージョンが勧告されている(#バージョン)。

見る Javaの文法とExtensible Markup Language

被演算子

被演算子(ひえんざんし、operand)とは、演算子が意味する演算の対象(数学的対象・あるいは演算可能な量など)である。 英語名からオペランド(operand)とも呼ばれる。

見る Javaの文法と被演算子

論理演算子

論理演算子(ろんりえんざんし、logical operator)は、コンピュータ・プログラミングや命題論理等における論理演算の演算子の総称である。

見る Javaの文法と論理演算子

配列

この記事では、コンピュータ・プログラムにおいて配列(はいれつ、array)と呼ばれているデータ構造およびデータ型について説明する。計算科学方面ではベクトルという場合もある。また、リストも参照。一般に、添え字で個々の要素を区別する。

見る Javaの文法と配列

連想配列

連想配列(れんそうはいれつ、associative array。)とは、コンピュータプログラミングにおいて、添え字にスカラー数値以外のデータ型(文字列型等)も使用できる配列である。抽象データ型のひとつ。連想リスト、連想コンテナ、辞書(あるいはカタカナでディクショナリ dictionary)、ハッシュ(hash)、マップ(map)とも呼ばれる。 歴史的には、最初に LISP の連想リストとして広く認知された。その後、SNOBOL で table として、AWK で連想配列として実装したことで、その潜在能力がさらに広く知られるようになった。現在、Rubyなど一部の言語では、添え字にはどのようなデータでも使えるものもある。

見る Javaの文法と連想配列

除法

除法(じょほう、division)とは、乗法の逆演算であり四則演算のひとつに数えられる二項演算の一種である。除算(じょさん、じょざん)、割り算(わりざん)とも呼ばれる。 除法は ÷(日本で一般的) や /(世界的に優勢)、:(ドイツ・フランス)、及び⟌(筆算の場合)などといった記号を使って表される(#記号についても参照)。除算する2つの数のうち一方の項を被除数 (ひじょすう、dividend) と呼び、他方を除数 (divisor) と呼ぶ。有理数の除法について、その演算結果は被除数と除数の比を与え、分数を用いて表せられる。このとき被除数は分子 (numerator)、除数は分母 (denominator) に対応する。被除数と除数は、被除数の右側に除数を置いて以下のように表される。

見る Javaの文法と除法

Foreach文

foreach文またはfor-each文(フォーイーチぶん)とは、プログラミング言語においてリストや連想配列などの「コレクション」と呼ばれるデータ構造の各要素に対して与えられた文の実行を繰り返すループ文である。foreach文はしばしばfor文の一部という位置付けにあるが、for文と異なり要素の参照順序が定義されないことがある。

見る Javaの文法とForeach文

For文

for文(フォーぶん)はプログラミング言語において条件が真の間だけ与えられた文の実行を繰り返すというループを記述するための文である。forループは、whileループと違って、ループに入る前の初期化(通常カウンタ変数の初期化を行なう)を含む点で異なる。 また言語によってはforeach文をfor … in … のように書くことがあり、このときのfor文はイテレータの繰り返し処理をする文になる。

見る Javaの文法とFor文

Goto文

プログラミング言語におけるgoto文(ゴートゥぶん、goto statement)とは、手続き列中の指定された場所(専らラベルで指定される)に無条件にジャンプ(移動)する、という制御構造のひとつを表現するための「文」である。古い文献などで "go to" と離していることもあるのは、英語の go to どこそこ、といったような言い回しとの類似のためでもあり、FORTRANではプログラム中の空白は基本的に無視されるので、goto でも go to でも同じだったからという理由もある(BASIC処理系の中にも、どちらも使えるようにしているものもある)。

見る Javaの文法とGoto文

HyperText Markup Language

HTMLHTMLという名前は従来はHyperText Markup Languageの略称だったが、2023年4月現在最新の規格であるWHATWGのHTML Living Standardには「HyperText Markup Language」という名前の記載はなく、単にそのままHTMLと呼ばれている。またはHyperText Markup Language(ハイパーテキスト マークアップ ランゲージ)廃止された従来の規格(HTML5.2まで)で使われていた呼称。現在でもISO/IEC 15445:2000で使用されている。は、ハイパーテキストを記述するためのマークアップ言語の1つで、プログラミング言語ではない。主にWorld Wide Web(WWW)において、ウェブページを表現するために用いられる。

見る Javaの文法とHyperText Markup Language

If文

if文(イフぶん、if statement)は、プログラミング言語において、真理値に従って「もし条件Cが満たされるならば、Xを実行せよ」というような条件付き実行の「文」で、制御構造のひとつである。一般的にif文は「もし条件Cが満たされるならば、Xを実行せよ、さもなくばYを実行せよ」というように条件が満たされなかった場合の分岐もオプション(省略可能)として同時にサポートすることが多く、if-else文と呼ばれることもある。 具体的な構文はプログラミング言語によって異なるが一般的に、条件式と、条件式の評価結果の値が「真として扱うべき値」の場合に実行される「then節」と呼ばれる部分があり、「偽として扱うべき値」の場合に実行されるelse節と呼ばれる部分が付く場合もある。「もしAならばX、BならばY、それ以外はZ」というように複数の条件で分岐する場合、C言語のようにif-else文を入れ子にすることで疑似的にelse-if節をサポートする言語もあれば、真のelse-if節をサポートする言語もある。

見る Javaの文法とIf文

Java

Java(ジャバ、ジャヴァ)は、汎用プログラミング言語とソフトウェアプラットフォームの双方を指している総称ブランドである。オラクルおよびその関連会社の登録商標である。1996年にサン・マイクロシステムズによって市場リリースされ、2010年に同社がオラクルに吸収合併された事によりJavaの版権もそちらに移行した。 プログラミング言語Javaは、C++に類似の構文、クラスベースのオブジェクト指向、マルチスレッド、ガベージコレクション、コンポーネントベース、分散コンピューティングといった特徴を持ち、平易性重視のプログラム書式による堅牢性と、仮想マシン上での実行によるセキュリティ性およびプラットフォーム非依存性が理念とされている。

見る Javaの文法とJava

Java Community Process

Java コミュニティ・プロセス(Java community process)またはJCPは、1998年に設立され、利害関係者が Java プラットフォームの将来のバージョンや機能に関与する定義に関与することを許した標準化の手続きである。 JCP は Java の仕様に関する要望をまとめる Java スペシフィケーション・リクエスツ(JSRs)の利用に関与し、それは Java プラットフォームに追加される提案された仕様や技術を記述した公式文書である。JSRsの公式公開レビューはJSRが最終になる前に行われ、JCP Executive Committeeによって投票される。最終版はソースコード形式で技術に関する自由にできる実装を提供する参照実装とAPI仕様を確かめるための技術互換キットを提供する。

見る Javaの文法とJava Community Process

Java Native Interface

Java Native Interface (JNI) は、Javaプラットフォームにおいて、Javaで記述されたプログラムと、他のプログラミング言語(たとえばCやC++など)で書かれた、実際のCPU上で動作するコード(ネイティブコード)とを連携するためのインタフェース仕様である。Java言語からネイティブコードを利用するためのABIと、逆にネイティブコードからJavaバイトコードを動作させるためにバーチャルマシン (VM) を利用するためのAPIの2つから成る。 JNIを使うことで、Java言語のVMで動作させるには処理速度の面で不利とされる計算量の多いプログラムを部分的にネイティブコードに置き換えて高速化したり、標準Javaクラスライブラリからはアクセスできないオペレーティングシステムあるいはハードウェアの機能を利用するプログラムを、あたかも通常のJavaクラスのメソッドのように呼び出したりできるようになる。逆に、Javaクラスライブラリによって実装されている高水準の機能を、C/C++などで書かれた下位層から利用することもできるようになる。JNIはJava言語以外のJava VM上で動作する言語 (AltJava) からも利用可能である。

見る Javaの文法とJava Native Interface

Java Platform, Standard Edition

Java Platform, Standard Edition または Java SE は、多くのJavaプラットフォームプログラムで利用されるJava APIの集合体である。Java仮想マシン、APIなどから構成される。バージョン1.2からバージョン5.0までは Java 2 Platform, Standard Edition または J2SE と呼ばれていた(詳細はJavaバージョン履歴を参照)。 J2SEバージョン1.4 (Merlin) 以降、Java SEプラットフォームはJava Community Process (JCP) の下で開発されている。JSR 59はJ2SE 1.4の包括仕様であり、JSR 176はJ2SE 5.0 (Tiger) を、JSR 270はJava SE 6 (Mustang) を規定している。Java SE 7 (Dolphin) はJSR 336の下でリリースされた。

見る Javaの文法とJava Platform, Standard Edition

Java Servlet

Java Servlet(ジャバ サーブレット)とは、サーバ上でウェブページなどを動的に生成したりデータ処理を行うために、Javaで作成されたプログラム及びその仕様である。単にサーブレットと呼ばれることが多い。Jakarta EEの一機能という位置づけになっている。この機能を用いてショッピングサイトやオンラインバンキングなどをはじめとする多種多様な動的なWebサイトが構築されている。

見る Javaの文法とJava Servlet

Java仮想マシン

ネイティブコードに変換されて実行される。Java APIとJVMの両者でJava実行環境(JRE)を構成する。 Java仮想マシン(ジャバかそうマシン、、Java VM、JVM)は、Javaバイトコードとして定義された命令セットを実行するスタック型の仮想マシン。APIやいくつかのツールとセットでJava実行環境(JRE)としてリリースされている。この環境を移植することで、さまざまな環境でJavaのプログラムを実行することができる。

見る Javaの文法とJava仮想マシン

Javaコンパイラ

Javaコンパイラは、コンピュータ・プログラミング言語Javaのコンパイラである。

見る Javaの文法とJavaコンパイラ

Javadoc

Javadocとは、サン・マイクロシステムズが開発したコンピュータソフトで、JavaのソースコードからHTML形式のAPI仕様書を生成するものである。 JavadocはJavaクラスの仕様書の標準の書式であり、多くのIDEは自動的にJavadoc HTMLを生成する機能を備えている。 なお、HTML形式は標準の書式であり、カスタマイズにより変更可能である。

見る Javaの文法とJavadoc

JUnit

JUnitとはJavaで開発されたプログラムにおいてユニットテスト(単体テスト)の自動化を行うためのフレームワークである。

見る Javaの文法とJUnit

Microsoft Windows

Microsoft Windows(マイクロソフト ウィンドウズ)は、マイクロソフトが開発・販売するオペレーティングシステム (OS) の製品群である。グラフィカルユーザインタフェース (GUI) を採用している。Windows発売以前では高価なワークステーション(ハイエンドパソコンを上回る性能のデスクトップコンピュータ)でしか実現されていなかったマルチタスクやGUIを中心とした使い勝手の良さを、一般消費者が入手しやすい標準的な規格のパソコンに順次取り込んで行き、一般向けOSのシェアのほとんどを占めるに至り、今や大きな知名度を持つ。

見る Javaの文法とMicrosoft Windows

Microsoftコードページ932

MS932とその他の日本語に関連した文字集合との関係オイラー図 Microsoft コードページ 932(マイクロソフト コードページ 932)は(以下 CP932)、マイクロソフト及び、MS-DOSのOEMベンダがShift_JISを独自に拡張した文字コードである。また、同時にCP932は、Shift_JISのWindowsアプリケーションにおける「実装」を指す用語であるとも言える。 この項では、主にShift_JISにおけるマイクロソフトおよび各ベンダの独自拡張部分について言及する。ベンダ独自拡張部分以外の内容については、Shift_JISを参照されたい。 また、マイクロソフト標準キャラクタセットの項目も併せて参照されたい。

見る Javaの文法とMicrosoftコードページ932

Objective-C

Objective-C(オブジェクティブ シー)は、プログラミング言語の一種。CをベースにSmalltalk型のオブジェクト指向機能を持たせた上位互換言語である。 Objective-CはNeXT、macOSのオペレーティングシステム (OS) に標準付属する公式開発言語である。macOSのパッケージ版に開発環境がDVDで付属するほか、ユーザ登録をすれば無償でダウンロードできる(Xcodeの項目参照)。現在では主にAppleのmacOSやiOS上で動作するアプリケーションの開発で利用される。

見る Javaの文法とObjective-C

PHP (プログラミング言語)

PHP(ピー・エイチ・ピー)は、 "The PHP Group" によってコミュニティベースで開発されているオープンソースの汎用プログラミング言語およびその公式の処理系であり、特にサーバーサイドで動的なウェブページを作成するための機能を多く備えていることを特徴とする。 名称の PHP は再帰的頭字語として、 "PHP: Hypertext Preprocessor" を意味するとされており、「PHPはHTMLのプリプロセッサである」とPHP自身を再帰的に説明している。

見る Javaの文法とPHP (プログラミング言語)

Switch文

switch文(スイッチぶん、switch statement)とは、プログラミング言語において、ある式の値に応じて多分岐を行なう文である。最適化の仕方にも左右されるが、場合によってはテーブルジャンプなどに展開されることで、条件判断を繰り返すif文よりも効率的に実行されることがある。言語によっては、値を返す式として記述できるものもある。また、検査対象の式のランタイム型(実行時型情報)に応じて分岐するような、複雑なパターンマッチングの機能を持つ言語もある。

見る Javaの文法とSwitch文

This (プログラミング)

thisは、プログラミング言語に出てくる概念のひとつで、自身の動いているオブジェクトを指す予約語。主にインスタンスメソッド内で使用される。thisの他にself、Meといった語を使う言語もあるが、言語を問わず概念は共通しているので、以下ではthisで代表させて記述することとする。

見る Javaの文法とThis (プログラミング)

Unicode

200px Unicode(ユニコード)は、符号化文字集合や文字符号化方式などを定めた、文字コードの業界標準規格。文字集合(文字セット)が単一の大規模文字セットであること(「Uni」という名はそれに由来する)などが特徴である。 従来、各国の標準化団体あるいは各コンピュータメーカーによって独自に開発されていた個々の文字コードの間には互換性がなかった。ISO/IEC 2022のように複数の文字コードを共存させる方法も考案されたが、例えば日本語の漢字と中国語の漢字のように、文字が重複する短所がある。一方Unicodeは、微細な差異はあっても本質的に同じ文字であれば一つの番号を当てる方針で各国・各社の文字コードの統合を図った規格である。

見る Javaの文法とUnicode

UTF-16

UTF-16 (UCS/Unicode Transformation Format 16UTFは、UnicodeではUnicode Transformation Formatの略、ISO/IEC 10646ではUCS Transformation Formatの略とされる。) とは、UnicodeおよびISO/IEC 10646の、符号化フォームおよび符号化スキーム(文字符号化方式を参照)のひとつである。 UTF-16では、1文字が、16ビットの符号単位が1つまたは2つで符号化される。これが「-16」の名の由来である。基本多言語面(BMP)内の文字は、符号単位1つの16ビットで表される。BMP以外の文字は、符号単位2つの32ビットで表される。なお、UTF-16は2バイトコードだと誤解されることがあるが、このように4バイトのこともあるため間違いである。

見る Javaの文法とUTF-16

UTF-8

UTF-8(ユーティーエフはち、ユーティーエフエイト)はISO/IEC 10646 (UCS) とUnicodeで使える8ビット符号単位(1–4バイトの可変長)の文字符号化形式および文字符号化スキーム。 正式名称は、ISO/IEC 10646では “UCS Transformation Format 8”、Unicodeでは “Unicode Transformation Format-8” という。両者はISO/IEC 10646とUnicodeのコード重複範囲で互換性がある。RFCにも仕様がある。 2バイト目以降に「/」などのASCII文字が現れないように工夫されていることから、UTF-FSS (File System Safe) ともいわれる。旧名称はUTF-2。

見る Javaの文法とUTF-8

Webサーバ

Webサーバ(ウェブサーバ、英:)は、HTTPに則り、クライアントソフトウェアのウェブブラウザに対して、HTMLやオブジェクト(画像など)の表示を提供するサービスプログラム及び、そのサービスが動作するサーバコンピュータを指す。 広義には、クライアントソフトウェアとHTTPによる通信を行うプログラム及びコンピュータ。

見る Javaの文法とWebサーバ

While文

while文 (while statement) はプログラミング言語において繰り返し(ループ)の制御構造を記述するための文 (statement) である。英語の接続詞 while の意味「〜である間」の通り、継続条件として指定された式(制御式)を評価した値が真である間、ループ本体 (loop body) の処理を繰り返し実行する。 while文では通例、ループの最初に継続条件式を評価する。したがって、継続条件式が偽であった場合はループ本体の処理は一度も実行されない。プログラミング言語によっては、ループの本体を一度実行した後、継続条件式を評価するdo-while文をサポートするものもある。do-while文では継続条件式の真偽にかかわらず、ループ本体の処理が必ず一度は実行される。詳細は当該記事も参照のこと。

見る Javaの文法とWhile文

抽象型

抽象型(ちゅうしょうがた、abstract type)とは、コンピュータプログラミングの型システムのうち、名前的型システム (nominal / nominative type system) における型の一種であり、直接インスタンス化することができないという特徴を持つ。対義語は具象型(concrete type)であり、具象型はインスタンス化することができる。抽象型の変数に格納された実際の値は、何らかの (existential type) を持つ。 抽象型は実装を提供しないか、あるいは不完全な実装を提供する。具体的な形態や仕様はプログラミング言語ごとに異なるが、いくつかの言語において、実装を持たない抽象型はインタフェース (interface) や (protocol) などと呼ばれている。クラスベースのオブジェクト指向プログラミング言語では、抽象型は抽象クラス (abstract class) として実装され、具象型は具象クラス (concrete class) として実装される。

見る Javaの文法と抽象型

抽象化 (計算機科学)

抽象化(ちゅうしょうか、Abstraction)は、計算機科学において詳細を捨象し、一度に注目すべき概念を減らすことおよびその仕組みである。 この概念は数学における「抽象化」からのアナロジーである。数学での抽象化技法の起源は数学的定義である。例えば、コンピュータでも数学でも、数はプログラミング言語上の概念であり、数学上の概念でもある。数の計算概念は数学の概念に基づいているため、実装の詳細はハードウェアとソフトウェアに依存したとしても、それが制約とはならない。 大まかに言えば、抽象化は制御抽象化とデータ抽象化に分けられる。制御抽象化は動作の抽象化であり、データ抽象化はデータ構造の抽象化である。例えば、構造化プログラミングでの制御抽象化とは、サブプログラムや定式化された制御フローの使用を意味する。データ抽象化とは、本来ビット列であるデータを意味のある方法で扱うことを意味する。例えば、データ型の背景にある動機は抽象化である。

見る Javaの文法と抽象化 (計算機科学)

条件演算子

条件演算子(じょうけんえんざんし、conditional operator)は、プログラミング言語の演算子で、条件文と同様な意味があるが、文ではなく値を持つ式になる。評価されると、条件式の値により異なる式が評価され、異なる値になる。 なお、C言語やC++など一部のプログラミング言語において、条件演算子とは後述する「?:」(ハテナマークとコロン) の演算子の名称である。

見る Javaの文法と条件演算子

減法

減法(げんぽう、subtraction)は、一方から一部として他方を取り去ることにより両者の間の差分を求める二項演算で、算術における四則演算の一つ。計算することの側面を強調し引き算(ひきざん)、減算(げんさん、げんざん)などとも言う。また、引き算を行うことを「 から を引く」 と表現する。引く数を減数(げんすう、subtrahend)と呼び、引かれる数を被減数(ひげんすう、minuend)と呼ぶ。また、減算の結果は差(さ、difference)と呼ばれる。 抽象代数学において減法は多くの場合、加法の逆演算として定式化されて加法に統合される。たとえば自然数の間の減法は、整数への数の拡張により、数を引くことと負の数を加えることとが同一視されて、減法は加法の一部となる。またこのとき、常に大きいものから小さいものを減算することしかできない自然数の体系に対して、整数という体系では減算が自由に行える(整数の全体は、逆演算として減法を内包した加法に関してアーベル群になる)。

見る Javaの文法と減法

演算子 (コンピュータ言語)

コンピュータ言語における演算子(えんざんし、operator)とは、各種の演算を表わす記号・シンボルである。通例、演算子は単なる記号あるいは記号列であって構文論的な要素であり、それに対応する演算は意味論の側にある。たとえばJavaにおいて、演算子 + を使った a + b という式は、構文論上は単にそういう式だというだけである。意味論的には数値の加算であったり、文字列の連結であったりするが、それは a と b の型に依って決まる(理論的には項書き換えのように、構文論的といったものもある)。 演算が作用する対象のことを被演算子(operand; オペランド、被演算数、引数)という。たとえば、n と 3 との和を表す式 "n + 3" において、"+" は演算子であり、その被演算子は "n" と "3" である。また、数式として一般的な被演算子と被演算子の間に演算子を記述する構文は中置記法と呼ばれる。

見る Javaの文法と演算子 (コンピュータ言語)

浮動小数点数

浮動小数点数(ふどうしょうすうてんすう、英: floating-point number)は、実数をコンピュータで処理(演算や記憶、通信)するために有限桁の小数で近似値として扱う方式であり、コンピュータの数値表現として広く用いられている。多くの場合、符号部、固定長の指数部、固定長の仮数部、の3つの部分を組み合わせて、数値を表現する -->。

見る Javaの文法と浮動小数点数

文字列結合

プログラミングにおいて、文字列結合(もじれつけつごう)または文字列連結(もじれつれんけつ)(string concatenation)とは、ある文字列の後ろに別の文字列をつなげて1つの文字列にする処理のことである。例えば、「ABCDE」という文字列と「12345」という文字列を結合すると「ABCDE12345」という1つの文字列になる。

見る Javaの文法と文字列結合

改行コード

改行コード(かいぎょうコード)とは、ワードプロセッサ(ワープロ専用機)やコンピュータなどで、改行を表す制御文字である。日本では「改行コード」と総称する事が一般的なため、本項目では、キャリッジリターン (CR) とラインフィード (LF) の両方について記載する。

見る Javaの文法と改行コード

整数型

整数型(せいすうがた、integer type / integral type)は、コンピュータのプログラムなどのデータ型の1つまたは1群であり、整数を取り扱う。コンピュータで扱うもっとも単純な部類のデータ型のひとつである。C言語やJavaなどの多くのプログラミング言語では、整数型は固定長であり、その固定サイズで表現可能な範囲の、整数の有限な部分集合の要素を値とする型である。また多くの言語において、より大きな範囲の整数値を表現可能なデータ型を扱うことができる、標準あるいは第三者によるライブラリが提供されている。 パスカルによる機械式計算機などが数をその処理の対象としていたことを考えれば、計算機械の歴史において、整数を扱うことはコンピュータ以前からの存在である。

見る Javaの文法と整数型

16ビット

65,536) 種類の値を保存することができる。符号なしの表現では、0 から 65535 までの整数値となる。2の補数の表現では、-32768 から 32767 までとなる。したがって、16ビットメモリアドレスを使用するプロセッサは、64 KiBのバイトアドレスメモリを直接アクセスできる(アドレス空間が64 KiBである)。 16ビットプロセッサ全盛時代にパーソナルコンピュータで使われた主要なオペレーティングシステムには、IBM PC DOS、MS-DOS、OS/2 1.x などがある。Microsoft Windows 1.0 - 3.xはMS-DOS上で動作するGUIフロントエンドであり、Windows 3.0まではオペレーティング環境(operating environment)と呼ばれていた。Windows 3.1からはoperating systemという名称になったが、正確には3.1も独立したオペレーティングシステムではない。

見る Javaの文法と16ビット

32ビット

32ビットに格納できる符号なし整数の範囲は、0 から 4,294,967,295 である。2の補数で表現できる符号付き整数は −2,147,483,648 から 2,147,483,647 を格納できる。したがって、32ビットメモリアドレスのプロセッサは4ギビバイトのバイトアドレスメモリを直接アクセスすることができる(アドレス空間が最大4ギビバイトである)。 他のビット数のプロセッサと同様、プロセッサ内部(論理)が32ビットでも、外部(物理)のアドレスバスやデータバスも32ビット幅とは限らない。例えば80386SXでは、プロセッサ内部は32ビットだが、外部アドレスは24ビット幅、外部データバスは16ビット幅である。またPentium Proでは、プロセッサ内部は32ビットだが、外部アドレスバスは36ビット幅、外部データバスは64ビット幅である。またプロセッサ内部においてもSIMD命令などへの対応のために、32ビット以外の構造を持つ場合がある。例えばPentium IIIはSSE命令のために128ビットのレジスタを持っている(あくまで32ビットデータを4個同時に扱っているだけであり、128ビット処理をしているわけではない)。

見る Javaの文法と32ビット

64ビット

64ビットプロセッサは、1960年代から一部のスーパーコンピュータで使われており、1990年代初期からRISCベースのワークステーションやサーバで使われてきた。2003年には、x86-64と64ビットPowerPCプロセッサが登場し、それまで32ビットが主流だったパーソナルコンピュータ市場でも64ビットCPUが使われるようになった。 他のビット数のプロセッサと同様に、プロセッサ内部のビット数と、プロセッサ外部のデータバスやアドレスバスのビット幅は、異なる場合がある。通常、オペレーティングシステム (OS) を含めてソフトウェアの観点では内部(論理)、物理配線などの観点では外部(物理)が重要である。

見る Javaの文法と64ビット

8ビット

8ビットCPUは通常、8ビットのデータバスと16ビットのアドレスバスを持ち、アドレス空間は64KiBに制限される。しかし、これは"自然法則"ではなく、例外がある。 最初に幅広く採用された8ビットマイクロプロセッサはIntel 8080であり、1970年代後半と1980年代前半のホビー用パーソナルコンピュータ(ホビーパソコン)に多く使用され、CP/Mオペレーティングシステムが動作した。Z80(8080と互換性があった)とMC6800も、同様のPCで使用された。8ビットCPUのZ80とMOS 6502は、1970年代から1980年代のPC(8ビットパソコン、ホビーパソコン)やゲーム機で広く使われた。多くの8ビットCPUやマイクロコントローラは、のIoT(かつてのユビキタスコンピューティング)や組み込みシステムの基盤となっている。

見る Javaの文法と8ビット

参考情報

Java

Java文法 別名。

オブジェクト型ガベージコレクションガイ・スティール・ジュニアキャラクタ (コンピュータ)キーワード (Java)クラス (コンピュータ)コレクションコンストラクタシグネチャジェネリックプログラミングジェームズ・ゴスリンスレッド (コンピュータ)スーパークラス (計算機科学)ストリーム (プログラミング)タブキー倍精度浮動小数点数C SharpC++短絡評価符号点符号拡張算術オーバーフロー継承 (プログラミング)Do-while文Extensible Markup Language被演算子論理演算子配列連想配列除法Foreach文For文Goto文HyperText Markup LanguageIf文JavaJava Community ProcessJava Native InterfaceJava Platform, Standard EditionJava ServletJava仮想マシンJavaコンパイラJavadocJUnitMicrosoft WindowsMicrosoftコードページ932Objective-CPHP (プログラミング言語)Switch文This (プログラミング)UnicodeUTF-16UTF-8WebサーバWhile文抽象型抽象化 (計算機科学)条件演算子減法演算子 (コンピュータ言語)浮動小数点数文字列結合改行コード整数型16ビット32ビット64ビット8ビット