akios @ ウィキ内検索 / 「12.3.2. クラスやインタフェース型の準備」で検索した結果

検索 :
  • 4.10.2. クラスやインタフェース型間の型のサブタイプ化
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 4.10. サブタイプ化 4.10.1. プリミティブ型間の型のサブタイプ化 4.10.2. クラスやインタフェース型間の型のサブタイプ化 ジェネリック型宣言C F1,...,Fn が与えられた時、引数付き型C T1,...,Tn の直接スーパータイプは以下の通りです。 Cの直接スーパータイプ。 Cの直接スーパーインタフェース。 Object型、もしCがインタフェース型で直接スーパーインタフェースを持たない場合。 未加工型C。 Ti(1≦i≦n)をある型とすると、引数付き型C T1,...,Tn の直接スーパータイプは以下の全てです。 D U1θ,...,...
  • 4.12.6. 型とクラスとインタフェース
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 4.10. サブタイプ化 4.11. 型の使用箇所 4.12. 変数 4.12.1. プリミティブ型の変数 4.12.2. 参照型の変数 4.12.3. 変数の種類 4.12.4. final変数 4.12.5. 変数の初期値 4.12.6. 型とクラスとインタフェース Javaプログラミング言語では、全ての変数や全ての式はコンパイル時に決定可能な型を持っています。型はプリミティブ型か参照型です。参照型にはクラス型やインタフェース型も含みます。参照型はクラス宣言やインタフェース宣言を含む型宣言によって導入されます。型という言葉をクラスやインタフェースを参照するのに用いること...
  • 4.3.2. Objectクラス
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.3.1. オブジェクト 4.3.2. Objectクラス Objectクラスとはすべてのクラスのスーパークラスです。 すべてのクラスと配列型はObjectクラスのメソッドを継承します。これにより以下が可能になっています。 cloneメソッドはオブジェクトの複製を作成します。 equalsメソッドはオブジェクトの参照ではなく値による等価性を定義します。 finalizeメソッドはオブジェクトを破壊する直前に実行されます。 getClassメソッドはオブジェクトのクラスを表すClassオブジェクトを返します。   Classオブジェクトは参照型毎に存在します。例えば、クラスの完全限定名やそのメンバー、直接のスーパークラス、実装しているインタフェースのリストを得るために使用するこ...
  • 4.3. 参照型と値
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 参照型(reference type)には、クラス型、インタフェース型、型変数そして配列型の4種類があります。 ReferenceType   ClassOrInterfaceType   TypeVariable   ArrayType ClassOrInterfaceType   ClassType   InterfaceType ClassType   TypeDeclSpecifier TypeArgumentsopt InterfaceType   TypeDeclSpecifier TypeArgumentsopt TypeDeclSpecifier   TypeName   ClassOrInterface...
  • 4.10.3. 配列型間の型のサブタイプ化
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 4.10. サブタイプ化 4.10.1. プリミティブ型間の型のサブタイプ化 4.10.2. クラスやインタフェース型間の型のサブタイプ化 4.10.3. 配列型間の型のサブタイプ化 配列型間の直接スーパータイプ関係を以下の規則で定義します。 SとTが共に参照型なら、S 1 Tの時のみS[] 1 T[]。 Object 1 Object[] Cloneable 1 Object[] Java.io.Serializable 1 Object[] Pがプリミティブ型ならば、 Object 1 P[] Cloneable 1 P[] Java.io.Seri...
  • 4.12.2. 参照型の変数
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 4.10. サブタイプ化 4.11. 型の使用箇所 4.12. 変数 4.12.1. プリミティブ型の変数 4.12.2. 参照型の変数 クラス型Tの変数はヌル参照またはクラスTかTの任意のサブクラスのインスタンスへの参照を保持することができます。 インタフェース型の変数はヌル参照またはそのインタフェースを実装する任意のクラスのインスタンスへの参照を保持することができます。 変数は常にその宣言された型のサブタイプを参照できるとは保障されていません。保障されているのはその宣言された型のサブクラスやサブインタフェースのみです。これは以下に記述するヒープ汚染の可能...
  • 4.5.2. 引数付き型のメソッドとコンストラクター
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.5.1. 型実引数とワイルドカード 4.5.2. 引数付き型のメソッドとコンストラクター 型引数A1,...,Anを伴うジェネリッククラスやインタフェース宣言をCとします。C T1,...,Tn はCの呼び出しであるとし、1≦i≦nに対しTiは(むしろワイルドカードではない)型だとします。すると mをC内のメンバーもしくはコンストラクター宣言(8.2.、8.8.6.)とし、その宣言された型をTとすると、   C T1,...,Tn 内のmの型はT[A1 =T1,...,An =Tn]です。 mをD内のメンバーもしくはコンストラクター宣言とします。ここで、DはCを拡張した型もしくはCを実装したインタフェースです。D U1,...,Uk を...
  • 4.10.1. プリミティブ型間の型のサブタイプ化
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 4.10. サブタイプ化 4.10.1. プリミティブ型間の型のサブタイプ化 以下の規則はプリミティブ型間の直接スーパータイプ関係を定義します。 double 1 float float 1 long long 1 int int 1 char int 1 short short 1 byte 4.10.2. クラスやインタフェース型間の型のサブタイプ化 4.10.3. 配列型間の型のサブタイプ化 4.11. 型の使用箇所 4.12. 変数
  • Java言語仕様 Java SE 7版 日本語訳
    ...現の検証     12.3.2. クラスやインタフェース型の準備     12.3.3. 名前参照の解決   12.4. クラスとインタフェースの初期化     12.4.1. 初期化の実行時点     12.4.2. 初期化手続きの詳細   12.5. 新しいクラスインスタンスの作成   12.6. クラスインスタンスの終了化子     12.6.1. 終了化子の実装     12.6.2. メモリーモデルとの相互処理   12.7. クラスとインタフェースのロード解除   12.8. プログラムの終了 13. バイナリ―互換性   13.1. バイナリ―の形式   13.2. バイナリ―互換性の有無   13.3. パッケージの展開   13.4. クラスの展開     13.4.1. abstractクラス     13.4.2. final...
  • 4.4. 型変数
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 型変数(type variable)とはクラスやインタフェース、メソッド、コンストラクターの本体内で型として使われる限定されていない識別子です。 型変数はジェネリッククラス宣言やジェネリックインタフェース宣言、ジェネリックメソッド宣言、ジェネリックコンストラクター宣言の型引数(type parameter)として宣言されます。 TypeParameter   TypeVariable TypeBoundopt TypeBound   extends TypeVariable   extends ClassOrInterfaceType AdditionalBoundListopt AdditionalBoundList   A...
  • 1.3. 記法
    1. はじめに 1.1. 仕様の構成 1.2. プログラム例 1.3. 記法 本仕様を通してJava SEプラットフォームAPIからクラスとインタフェースを参照します。本仕様書では、例の中で定義されず単一の識別子Nで参照されるクラスやインタフェースはパッケージjava.lang内のNという名前のクラスやインタフェースを参照します。java.lang以外のパッケージからのクラスやインタフェースに対しては正規名を用います。 議論や仕様外の情報は小さ目のイタリック体で記述します。 これは議論です。仕様の内容ではありません。 1.4. 組込みクラスやインタフェースとの関係 1.5. 参考文献
  • 1.1. 仕様の構成
    1. はじめに 1.1. 仕様の構成 2章では、言語の字句と構文文法を表す文法と表記法について記述します。 3章では、CやC++に基づいたJavaプログラミング言語の字句構造について記述します。言語はUnicode文字セットで記述します。言語はASCIIのみをサポートするシステム上でもUnicode文字をサポートします。 4章では、型や値や変数について記述します。型はプリミティブ型と参照型に分けられます。 プリミティブ型は全てのマシンと全ての実装で同一なものが定義されており、多様なサイズの2の補数の整数や、単精度・倍精度IEEE754規格浮動小数点数、boolean型、Unicode文字char型が定義されています。プリミティブ型はステートを共有しません。 参照型はクラス型やインタフェース型や配列型です。参照型はクラスのインスタンスか配列のいずれかの動的作成オブジェク...
  • 4.5. 引数付き型
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 1つ以上の型引数A1,...,Anと対応する制限B1,...,Bnを伴ったジェネリッククラス宣言やジェネリックインタフェース宣言Cは引数付き型(parameterized type)の集合を定義します。呼び出し時に指定可能な型実引数の組み合わせ毎に1つの要素となります。 この集合内の個々の引数付き型を書式C T1,...,Tn で表します。ここで、各型実引数Tiは対応する制限内に書かれている全ての型のサブタイプをカバーします。つまり、Bi中の各制限型Siに対し、TiはSi[F1 =T1,...,Fn =Tn]のサブタイプです。 1つの引数付き型は少なくとも1つの型宣言指定子と続く型実引数リスト T1,...,Tn で構成されるClass...
  • 4.10. サブタイプ化
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 4.10. サブタイプ化 サブタイプ(subtype)とスーパータイプ(supertype)の関係は型の2項関係です。 型のスーパータイプ(supertype)は直接スーパータイプ関係を表す推移律と遷移律によって得られ、S 1 Tと書きます。規則の意味は本節の後ほどで定義します。SとT間が持つスーパータイプ関係をS Tと表します。 SはTの適切なスーパータイプ(proper supertype)である時、S Tと書きます。ここで、S TかつS ≠ Tです。 型TのサブタイプはUのスーパータイプをTとすると全ての型Uとヌル型です。TとS間の...
  • 5.1.6. 縮幅参照変換
    5. 変換と昇格 5.1. 変換の種類 5.1.1. 恒等変換 5.1.2. 拡幅プリミティブ変換 5.1.3. 縮幅プリミティブ変換 5.1.4. 拡幅と縮幅プリミティブ変換 5.1.5. 拡幅参照変換 5.1.6. 縮幅参照変換 以下の6種類の変換は縮幅参照変換(narrowing reference conversion)と呼ばれます。 SはTの適切なスーパータイプである任意の参照型Sから任意の参照型Tへの変換。   重要で特別な事例としてObjectクラス型から任意の他の参照型への縮幅参照変換があります(4.12.4.)。 finalではなくKを実装してもいない任意のクラス型Cから任意の非引数付きインタフェース型Kへの変換。 任意のインタフェース型Jからfinalではない任意の非引数付きクラス型Cへの変換。 JはKの適切なスーパーインタフェースではない任意のインタフェ...
  • 1.4. 組込みクラスやインタフェースとの関係
    1. はじめに 1.1. 仕様の構成 1.2. プログラム例 1.3. 記法 1.4. 組込みクラスやインタフェースとの関係 上に記述したように、本仕様はJava SEプラットフォームAPIのクラスを頻繁に参照します。特に、Javaプログラミング言語と特別な関係にあるクラスがいくつか存在します。例ではObject、Class、ClassLoader、String、Threadやパッケージjava.lang.reflectのクラスやインタフェースをその他のクラスと同様に使用しています。本仕様ではそのようなクラスとインタフェースの振る舞いに縛られていますが、その振る舞いについての完全な記述はしていません。読者はJava SEプラットフォームAPIドキュメントを参照してください。 結果として、本仕様はリフレクションについて一切記述していません。多くの言語構成物はリフレクションAPIに類...
  • 4.12.3. 変数の種類
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 4.10. サブタイプ化 4.11. 型の使用箇所 4.12. 変数 4.12.1. プリミティブ型の変数 4.12.2. 参照型の変数 4.12.3. 変数の種類 変数には7つの種類があります。 クラス変数(class variable)はクラス宣言内でキーワードstaticを使用して宣言されたフィールド(8.3.1.1.)、もしくはインタフェース宣言内でキーワードstaticを使用してまたは使用せず宣言されたフィールド(9.3.)です。   クラス変数はそのクラスやインタフェースが準備されデフォルト値に初期化される時に作成されます。クラス変数はその変数やインタ...
  • 4.3.4. 参照型が同じである条件
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.3.1. オブジェクト 4.3.2. Objectクラス 4.3.3. Stringクラス 4.3.4. 参照型が同じである条件 2つの参照型が同一のバイナリ名を持てば、そしてもしあれば型実引数にも同じくこの定義が再帰的に適用できれば、同一コンパイル時型(same compile-time type)であるといいます。 2つの参照型が同じである時、時々同じクラス、同じインタフェースと呼ばれます。 動作時、同じバイナリ名を持つ複数の参照型が同時に異なるクラスローダーによって読み込まれるかもしれません。これらの型は同じ型宣言を表しているかもしれませんしそうでないかもしれません。このような2つの型が同じ型宣言を表していたしても、それらは異なるもとして扱われます。 2つの...
  • 4.12.1. プリミティブ型の変数
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 4.10. サブタイプ化 4.11. 型の使用箇所 4.12. 変数 4.12.1. プリミティブ型の変数 プリミティブ型の変数は常にその正確なプリミティブ型のプリミティブ値を保持します。 4.12.2. 参照型の変数 4.12.3. 変数の種類 4.12.4. final変数 4.12.5. 変数の初期値 4.12.6. 型とクラスとインタフェース
  • 4.8. 未加工型
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 非ジェネリックのレガシーコードとのインタフェースを容易にするため、引数付き型の抹消や構成要素の引数付き型を抹消した配列型を型として利用できます。このような型を未加工型(raw type)と呼びます。 もう少し正確には、未加工型とは次の1つとして定義されます。 型実引数リストを持たないジェネリック型宣言の名前という形式の参照型 構成要素の型が未加工型である配列型 未加工型Rの非静的メンバー型、Rのスーパークラスやスーパーインタフェースから継承されていないこと 非ジェネリッククラス型やインタフェース型は未加工型ではありません。 未加工型の非静的型メンバーがなぜ未加工と...
  • 4.12.5. 変数の初期値
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 4.10. サブタイプ化 4.11. 型の使用箇所 4.12. 変数 4.12.1. プリミティブ型の変数 4.12.2. 参照型の変数 4.12.3. 変数の種類 4.12.4. final変数 4.12.5. 変数の初期値 プログラム内のどの変数もその値が使用される前に値を持たなくてはなりません。 クラス変数やインスタンス変数や配列要素は作成された時(15.9.、15.10.)にデフォルト値(default value)で初期化されます。byte型のデフォルト値はゼロ、つまり(byte)0の値です。 short型のデフォルト値はゼロ、つまり(short)0の値です...
  • 4.9. 交差型
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 交差型(intersection type)はT1 ... Tn(n 0)の形式をとります。ここでTi (1 ≦ i ≦ n)は型式です。 交差型は捕捉変換や型推論の処理中に生じます。プログラムの一部として交差型を直接書くことはできません。これに対する文法はありません。 交差型の値は1≦i≦nに対する全ての型Tiの値であるオブジェクトです。 交差型T1 ... Tnは以下の通り決定されます。 各Ti(1≦i≦n)に対し、Ti Ciである最も特殊なクラスもしくは配列をCiとします。その時、任意のi(1≦i≦n)に対しCk...
  • 1.2. プログラム例
    1. はじめに 1.1. 仕様の構成 1.2. プログラム例 プログラム例の大部分は実行可能な以下のような形式のテキストで記述します。 class Test { public static void main(String[] args) { for (int i = 0; i args.length; i++) System.out.print(i == 0 ? args[i] " " + args[i]); System.out.println(); } } Javaプログラミング言語のコンパイラーのリファレンス実装がインストールされているマシン上でファイル名をTest.javaとして保存し、以下のコマンドによってコンパイルして実行できます。 javac Test.java...
  • 4. 型と値と変数
    4. 型と値と変数 Javaプログラミング言語は静的に型付けされた(statically typed)言語です。これはコンパイル時にどの変数の型もどの式の型も分かっているということを意味します。 Javaプログラミング言語は強く型付けされた(strongly typed)言語でもあります。型はその変数が持つことが可能な値を制限し、それらの値を用いた演算を制限し演算の意味を決定します。強く静的な型付けはコンパイル時にエラーを発見するのに役立ちます。 Javaプログラミング言語の型は2つのカテゴリー、プリミティブ型と参照型に分けられます。プリミティブ型にはboolean型と数値型があります。数値型には整数型であるbyte、short、int、long、char型と、浮動小数点型であるfloat、double型があります。参照型にはクラス型、インタフェース型、配列型があります。...
  • 4.12. 変数
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 4.10. サブタイプ化 4.11. 型の使用箇所 4.12. 変数 変数(variable)は値の保存場所であり関連する型を持ちます。この型はコンパイル時の型(compile-time type)とも呼ばれ、プリミティブ型か参照型のいずれかです。 変数の値は代入もしくは単項・後置インクリメント演算子++やデクリメント演算子--(15.14.2.、15.14.3.、15.15.1、15.15.2.)により変化します。 Javaプログラミング言語の設計は型を持つ変数の値の互換性を、コンパイル時の未検査警告が検出されない限りは保障しています。デフォルト値は互換性...
  • 4.7. 具象可能型
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 いくつかの型の情報はコンパイル中に抹消されるため、実行時に全ての型が利用可能であるとは限りません。実行時に完全な形で利用可能な型を具象可能型(reifiable type)と呼びます。 次のいずれか1つの条件を満たす場合のみ、型は具象可能であるといいます。 非ジェネリッククラスやインタフェース型宣言を参照する 全ての型引数が制限なしのワイルドカードである引数付き型である 未加工型である プリミティブ型である 構成要素の型が具象可能である配列型である 入れ子型で、"."で分割された各型Tに対してT自身が具象可能   例えば、ジェネリッククラスX T がジェネリックメンバークラ...
  • 4.3.1. オブジェクト
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.3.1. オブジェクト オブジェクト(object)はクラスインスタンス(class instance)または配列です。 参照値(単に参照(reference))はオブジェクトへのポインターです。どのオブジェクトも参照しない特別なヌル参照もあります。 クラスインスタンスはクラスインスタンス作成式で明示的に作成されます。 配列は配列作成式で明示的に作成されます。 文字列連結演算子+を非定数式の中で使用すると新たなクラスインスタンスが暗黙的に作成され、String型の新たなオブジェクトとなります。 配列初期化式が評価された時に新たな配列オブジェクトが暗黙的に作成されます。これはクラスやインタフェースが初期化される場合や、クラスの新たなインスタンスが作成...
  • 1. はじめに
    1. はじめに Java™プログラミング言語は汎用の、並行処理が可能で、クラスに基づく、オブジェクト指向な言語です。多くのプログラマーがこの言語を習熟できるように十分に単純に設計されています。Javaプログラミング言語はCやC++と関係がありますが、CやC++のいくつかの特徴を省きその他の言語の特徴を導入するなど、やや異なった構成となっています。Javaは製作のための言語であることを意図されており、研究目的の言語ではありません。そのため、言語デザインに関するC. A. R. Hoareの昔の論文で提案されている通り、新しく未検証な機能の導入はしない設計です。 Javaプログラミング言語は強く静的に型付けられています。本仕様では、コンパイル時に検出が可能であり検出すべきコンパイル時エラーと、実行時に発生するエラーを明確に区別しています。コンパイルとは通常、プログラムをマシン非依存バ...
  • 4.12.4. final変数
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 4.10. サブタイプ化 4.11. 型の使用箇所 4.12. 変数 4.12.1. プリミティブ型の変数 4.12.2. 参照型の変数 4.12.3. 変数の種類 4.12.4. final変数 変数はfinalと宣言できます。final変数は一度しか代入できません。final変数の宣言はその値に変更はないということを明示しプログラミングエラーを避けやすくする有益なドキュメントとなることができます。 代入以前に確実に代入されていない場合を除いて、final変数が代入される時にはコンパイルエラーが出力されます。 空(blank)finalとは初期化子が宣言に...
  • 4.3.3. Stringクラス
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.3.1. オブジェクト 4.3.2. Objectクラス 4.3.3. Stringクラス StringクラスのインスタンスはUnicodeコードポイントの列を表します。 Stringオブジェクトは定数(変更不可)値です。 文字列リテラルはStringクラスのインスタンスへの参照です。 文字列結合演算子+は結果がコンパイル時に定数式でなければ暗黙的に新しいStringオブジェクトを作成します。 4.3.4. 参照型が同じである条件 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 4.10. サブタイプ化 4.11. 型の使用箇所 4.12. 変数
  • 4.11. 型の使用箇所
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 4.10. サブタイプ化 4.11. 型の使用箇所 宣言や特定の式内において型は使用されます。 例4.11-1. 型の使用 import java.util.Random; import java.util.Collection; import java.util.ArrayList; class MiscMath T extends Number { int divisor; MiscMath(int divisor) { this.divisor = divisor; } float ratio(long l) { ...
  • 進捗情報
    Java言語仕様日本語訳の進捗情報です。 全体進捗ページ84/606=約13.9% 索引 章構成の索引は完了。 例の索引は未完了。 序文 第1版 訳の予定なし。 序文 第2版 訳の予定なし。 序文 第3版 訳の予定なし。 序文 Java SE 7版 訳の予定なし。 1. はじめに 完了。 2. 文法 完了。 3. 字句構造 完了。 4. 型と値と変数 完了。 例4.2.4-1のプログラム内のバックスラッシュnの表示ができていない。 }をプラグイン終了の意味を持たずにただの文字とするやり方が分からない。 4.4~4.6、4.8は意味が分からないまま訳している部分が多い。 5. 変換と昇格 未着手。 6. 名前 未着手。 7. パッケージ 未着手。 8. クラス 未着手。 9. インタフェース 未着...
  • 1.5. 参考文献
    1. はじめに 1.1. 仕様の構成 1.2. プログラム例 1.3. 記法 1.4. 組込みクラスやインタフェースとの関係 1.5. 参考文献 Apple Computer. Dylan™ Reference Manual. Apple Computer Inc., Cupertino, California. September 29, 1995. Bobrow, Daniel G., Linda G. DeMichiel, Richard P. Gabriel, Sonya E. Keene, Gregor Kiczales, and David A. Moon. Common Lisp Object System Specification, X3J13 Document 88-002R, June 1988; appears as Chapter 28 of Stee...
  • 4.5.1. 型実引数とワイルドカード
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.5.1. 型実引数とワイルドカード 型実引数(type argument)は参照型かワイルドカード(wildcard)のいずれかです。ワイルドカードは型引数に関する知識が部分的にしかない場合に有効です。 TypeArguments    TypeArgumentList TypeArgumentList   TypeArgument   TypeArgumentList , TypeArgument TypeArgument   ReferenceType   Wildcard Wildcard   ? WildcardBoundsopt WildcardBounds   ex...
  • 3.10.2. 浮動小数点リテラル
    3. 字句構造 3.1. Unicode 3.2. 字句変換 3.3. Unicodeエスケープ 3.4. 行終端子 3.5. 入力要素とトークン 3.6. 空白 3.7. コメント 3.8. 識別子 3.9. キーワード 3.10. リテラル 3.10.1. 整数リテラル 3.10.2. 浮動小数点リテラル 浮動小数点リテラル(floating-point literal)は整数部、10進もしくは16進小数点(ASCIIピリオド文字)、小数部、指数部、型を表す接尾語より構成されています。 浮動小数点リテラルは10進もしくは16進で表すことができます。 10進浮動小数点リテラルでは、少なくとも1桁の数(整数部もしくは小数部に)の他に10進小数点、指数部、型を表す接尾語のいずれか1つが必要です。それ以外の要素は省略可能です。指数部が存在するなら、ASCII文字eまたはEが先...
  • 4.2.2. 整数演算
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.2.1. 整数型と値 4.2.2. 整数演算 Javaプログラミング言語は整数値に対する演算として以下を提供しています。 比較演算子はboolean型の値を返します。 数値比較演算子 と =と と = 数値等価演算子==と!= 数値演算子はint型もしくはlong型を返します。単項プラス演算子+、単項マイナス演算子- 乗法演算子*と/と% 加法演算子+と- インクリメント演算子、前置と後置の両方をサポート デクリメント演算子、前置と後置の両方をサポート 符号付きまたは符号なしシフト演算子 と と ビット単位補数演算子~ 整数ビット単位演算子 と^と| 条件演算子? キャスト演算子、整数値を指定された数値型の値に変換します 文字列結合演算子+、Stringオペランドと整数オペランドを与えると...
  • 4.2.1. 整数型と値
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.2.1. 整数型と値 整数型(integral type)の値がとりうる範囲は以下の通りです。 byte, -128以上127以下 short, -32768以上32767以下 int, -2147483648以上2147483647以下 long, -9223372036854775808以上9223372036854775807以下 char, \u0000 以上 \uffff 以下、つまり0以上65535以下 4.2.2. 整数演算 4.2.3. 浮動小数点型と書式と値 4.2.4. 浮動小数点演算 4.2.5. ブール型とブール値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 4.10. サブタイ...
  • 3.10. リテラル
    3. 字句構造 3.1. Unicode 3.2. 字句変換 3.3. Unicodeエスケープ 3.4. 行終端子 3.5. 入力要素とトークン 3.6. 空白 3.7. コメント 3.8. 識別子 3.9. キーワード 3.10. リテラル リテラル(Literal)はプリミティブ型や文字型やヌル型のソースコード上での表記です。 Literal   IntegerLiteral   FloatingPointLiteral   BooleanLiteral   CharacterLiteral   StringLiteral   NullLiteral 3.10.1. 整数リテラル 3.10.2. 浮動小数点リテラル 3.10.3. ブールリテラル 3.10.4. 文字リテラル 3.10.5. 文字列リテラル 3.10.6. 文字・文字列リテラル用の...
  • 4.2. プリミティブ型と値
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 プリミティブ型(primitive type)としてJavaプログラミング言語で規定されキーワードとして予約されているのは以下の通りです。 PrimitiveType   NumericType   boolean NumericType   IntegralType   FloatingPointType IntegralType one of   byte short int long char FloatingPointType one of   float double プリミティブ値は他のプリミティブ値とステートを共有しません。 数値型(numeric type)には整数型と浮動小数点型があります。 整数型にはbyte、s...
  • 4.2.5. ブール型とブール値
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.2.1. 整数型と値 4.2.2. 整数演算 4.2.3. 浮動小数点型と書式と値 4.2.4. 浮動小数点演算 4.2.5. ブール型とブール値 boolean型はリテラルtrueとfalseで表される2つの論理的な量を表します。 ブール演算子は以下の通りです。 関係演算子==と!= 論理補数演算子! 論理演算子 と^と| 条件付きAND演算子 、条件付きOR演算子|| 条件演算子? 文字列結合演算子+、Stringオペランドとbooleanオペランドを与えるとbooleanオペランドの値を表すString("true"もしくは"false")に変換し2つの文字列を結合して新たなString型を作成します。 ブール式は以下のような文で制御フロ...
  • 4.2.4. 浮動小数点演算
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.2.1. 整数型と値 4.2.2. 整数演算 4.2.3. 浮動小数点型と書式と値 4.2.4. 浮動小数点演算 Javaプログラミング言語は浮動小数点値に対する演算として以下を提供しています。 比較演算子はboolean型の値を返します。 数値比較演算子 と =と と = 数値等価演算子==と!= 数値演算子はfloat型もしくはdouble型を返します。単項プラス演算子+、単項マイナス演算子- 乗法演算子*と/と% 加法演算子+と- インクリメント演算子、前置と後置の両方をサポート デクリメント演算子、前置と後置の両方をサポート 条件演算子? キャスト演算子、浮動小数点値を指定された数値型の値に変換します 文字列結合演算子+、Stringオペランドと浮動小数点オペランドを与えると浮動小数点オペラ...
  • 3.10.5. 文字列リテラル
    3. 字句構造 3.1. Unicode 3.2. 字句変換 3.3. Unicodeエスケープ 3.4. 行終端子 3.5. 入力要素とトークン 3.6. 空白 3.7. コメント 3.8. 識別子 3.9. キーワード 3.10. リテラル 3.10.1. 整数リテラル 3.10.2. 浮動小数点リテラル 3.10.3. ブールリテラル 3.10.4. 文字リテラル 3.10.5. 文字列リテラル 文字列リテラル(string literal)は2重引用符で0個以上の文字を括ったものです。文字はエスケープシーケンスでも構いません。U+0000~U+FFFFの範囲にある文字に対しては1つのエスケープシーケンスで、U+010000~U+10FFFFの範囲にある文字に対してはUTF-16サロゲートコード単位を表す2つのエスケープシーケンスで表せます。 StringLiteral ...
  • 3.1. Unicode
    3. 字句構造 3.1. Unicode プログラムはUnicode文字集合(character set)にて記述します。この文字集合とそれと関連する文字符号化(encoding)についてはhttp //www.unicode.org/を参照してください。 Java SEプラットフォームをUnicodeの仕様の更新を追っています。リリース毎の正確なUnicodeのバージョンはCharacterクラスのドキュメントに明記されています。 Javaプログラミング言語の1.1より前のバージョンはUnicodeバージョン1.1.5を使用しています。Unicode規格の新規バージョンへのアップグレードはJDK 1.1の時にUnicode 2.0へ、JDK1.1.7の時にUnicode 2.1へ、Java SE 1.4の時にUnicode 3.0へ、Java SE 5.0の時にUn...
  • 4.2.3. 浮動小数点型と書式と値
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.2.1. 整数型と値 4.2.2. 整数演算 4.2.3. 浮動小数点型と書式と値 浮動小数点型(floating-point type)にはfloat、doubleがあり、それぞれが2進浮動小数点計算のためのIEEE規格、ANSI/IEEE規格754-2008(IEEE, New York)、で規定する単精度32ビット、倍精度64ビット形式のIEEE754値および演算に概念的に関連づいています。 IEEE754規格には符号と数の大きさからなる正と負の数だけでなく正と負のゼロ、正と負の無限大、特別な非数値(Not-a-Number、以降NaN)も含まれています。NaN値はゼロ割るゼロ等の無効な演算の結果を表すのに利用されます。NaNはFloat.NaNやDouble.NaNとしてfloat型にもdou...
  • 5. 変換と昇格
    5. 変換と昇格 Javaプログラミング言語で書かれた全ての式は、式の構造やその式の中に記述されたリテラルや変数やメソッドの型から推論できる型を持ちます。しかし、式の型が適切ではない文脈で式を書くこともできます。ある場合には、これはコンパイル時にエラーを引き起こします。他のケースでは、その式の型に関連する型を受理することができる文脈もあります。便宜上、プログラマーは明示的に型変換を要求する代わりに、Javaプログラミング言語は式の型をその周囲の文脈に合わせて受理することが可能な型に暗黙的に変換(conversion)を行います。 型Sから型Tへの特定の変換は型Sの式をあたかも型Tであるかのようにコンパイル時に扱えるようにします。変換の正当性を検査するために、または実行時の式の値を新たな型Tに対する適切な形式に変換するために、これは実行時に対応するアクションが必要になることがありま...
  • 3.10.4. 文字リテラル
    3. 字句構造 3.1. Unicode 3.2. 字句変換 3.3. Unicodeエスケープ 3.4. 行終端子 3.5. 入力要素とトークン 3.6. 空白 3.7. コメント 3.8. 識別子 3.9. キーワード 3.10. リテラル 3.10.1. 整数リテラル 3.10.2. 浮動小数点リテラル 3.10.3. ブールリテラル 3.10.4. 文字リテラル 文字リテラル(character literal)はASCII一重引用符(シングルクォートまたはアポストロフィ、文字コードは\u0027)で括られた1文字か1つのエスケープシーケンスです。 CharacterLiteral    SingleCharacter    EscapeSequence SingleCharacter   InputCharacter but not ...
  • 4.1. 型と変数の種類
    4. 型と値と変数 4.1. 型と変数の種類 Javaプログラミング言語の型は大別すると、プリミティブ型と参照型の2種類に分けられます。従って、変数に保存され、引数として渡され、メソッドの戻り値として返され、演算されるデータ値には、それぞれプリミティブ値と参照値という2種類が存在します。 Type   PrimitiveType   ReferenceType ヌル型(null type)という特別な型があります。式nullの型であり(3.10.7.、15.8.1.)、名前を持ちません。 ヌル型は名前を持たないため、ヌル型の変数を宣言したり、ヌル型へキャストすることはできません。 ヌル参照はヌル型が唯一取りうる値です。 ヌル参照はどの参照型への拡幅参照変換も常に行うことができます。 実際には、プログラマーはヌル型を無視し,null...
  • 4.6. 型の抹消
    4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 型の抹消(type erasure)とは型(引数付き型と型変数を含んでもよい)から型(引数付き型や型変数を含まない)へのマッピングです。型Tの抹消を|T|と記します。抹消マッピングを以下に定義します。 引数付き型G T1,...,Tn の抹消とは|G|です。 入れ子にされた型T.Cの抹消とは|T|.Cです。 配列型T[]の抹消とは|T|[]です。 型変数の抹消とはその最も左の制限の抹消です。 他の全ての型の抹消とはその型そのものです。 型の抹消はコンストラクターやメソッドのシグネチャーを引数付き型や型変数を持たないシグネチャーにマップすることも指します。コンストラクターやメソッドのシグネチャーsの抹消とはsと同じ名前を残し...
  • 5.1.2. 拡幅プリミティブ変換
    5. 変換と昇格 5.1. 変換の種類 5.1.1. 恒等変換 5.1.2. 拡幅プリミティブ変換 プリミティブ型に対する19の特定の変換が拡幅プリミティブ変換(widening primitive conversion)と呼ばれます。 byteをshortやint、long、float、doubleへ変換 shortをintやlong、float、doubleへ変換 charをintやlong、float、doubleへ変換 intをlongやfloat、doubleへ変換 longをfloatやdoubleへ変換 floatをdoubleへ変換 拡幅プリミティブ変換は数値の全体的な大きさについての情報は失いません。 整数型から他の整数型へのまたは tt(){strictfp}式内でのfloatからdoubleへの拡幅プリミティブ変換は全く何の情報も失いません。数値は...
  • 3.10.1. 整数リテラル
    3. 字句構造 3.1. Unicode 3.2. 字句変換 3.3. Unicodeエスケープ 3.4. 行終端子 3.5. 入力要素とトークン 3.6. 空白 3.7. コメント 3.8. 識別子 3.9. キーワード 3.10. リテラル 3.10.1. 整数リテラル 整数リテラル(integer literal)は10進、16進、8進、2進のいずれかで表記することができます。 IntegerLiteral   DecimalIntegerLiteral   HexIntegerLiteral   OctalIntegerLiteral   BinaryIntegerLiteral DecimalIntegerLiteral   DecimalNumeral IntegerTypeSuffixopt HexIntegerLiteral  ...
  • @wiki全体から「12.3.2. クラスやインタフェース型の準備」で調べる

更新順にページ一覧表示 | 作成順にページ一覧表示 | ページ名順にページ一覧表示 | wiki内検索

人気記事ランキング
目安箱バナー