akios @ ウィキ内検索 / 「5. 変換と昇格」で検索した結果

検索 :
  • 5. 変換と昇格
    5. 変換と昇格 Javaプログラミング言語で書かれた全ての式は、式の構造やその式の中に記述されたリテラルや変数やメソッドの型から推論できる型を持ちます。しかし、式の型が適切ではない文脈で式を書くこともできます。ある場合には、これはコンパイル時にエラーを引き起こします。他のケースでは、その式の型に関連する型を受理することができる文脈もあります。便宜上、プログラマーは明示的に型変換を要求する代わりに、Javaプログラミング言語は式の型をその周囲の文脈に合わせて受理することが可能な型に暗黙的に変換(conversion)を行います。 型Sから型Tへの特定の変換は型Sの式をあたかも型Tであるかのようにコンパイル時に扱えるようにします。変換の正当性を検査するために、または実行時の式の値を新たな型Tに対する適切な形式に変換するために、これは実行時に対応するアクションが必要になることがありま...
  • 5.1. 変換の種類
    5. 変換と昇格 5.1. 変換の種類 Javaプログラミング言語での特定の型変換は13のカテゴリーに分けられます。 5.1.1. 恒等変換 5.1.2. 拡幅プリミティブ変換 5.1.3. 縮幅プリミティブ変換 5.1.4. 拡幅と縮幅プリミティブ変換 5.1.5. 拡幅参照変換 5.1.6. 縮幅参照変換 5.1.7. ボックス化変換 5.1.8. ボックス化解除変換 5.1.9. 未検査変換 5.1.10. 捕捉変換 5.1.11. 文字列変換 5.1.12. 禁止変換 5.1.13. 値集合変換 5.2. 代入変換 5.3. メソッド呼び出し変換 5.4. 文字列変換 5.5. キャスト変換 5.6. 数値昇格
  • 5.1.5. 拡幅参照変換
    5. 変換と昇格 5.1. 変換の種類 5.1.1. 恒等変換 5.1.2. 拡幅プリミティブ変換 5.1.3. 縮幅プリミティブ変換 5.1.4. 拡幅と縮幅プリミティブ変換 5.1.5. 拡幅参照変換 拡幅参照変換(widening reference conversion)とはSはTのサブタイプである任意の参照型Sから任意の参照型Tへの変換です。 拡幅参照変換は実行時に一切の特別なアクションを要求しません。従って、実行時に例外をスローすることもありません。これは参照は単に他の型も持っており、それらもコンパイル時に正しいと証明できているからです。 5.1.6. 縮幅参照変換 5.1.7. ボックス化変換 5.1.8. ボックス化解除変換 5.1.9. 未検査変換 5.1.10. 捕捉変換 5.1.11. 文字列変換 5.1.12. 禁止変換 5.1.13. 値集合変換 ...
  • 5.1.1. 恒等変換
    5. 変換と昇格 5.1. 変換の種類 5.1.1. 恒等変換 恒等変換(identity conversion)とはある型を同一の型に変換することで、全ての型で使用できます。 これは些細なことかもしれませんが、2つの実践的な影響があります。1つ目は、式が開始するにあたり望ましい型を持つことが常に許可されるということです。つまり、ささいな等価変換だけであっても、全ての式は変換を受けるという単純な定型規則が許可されます。2つ目は、明確化のためにプログラムが冗長なキャスト演算子を導入するという意味を含みます。 5.1.2. 拡幅プリミティブ変換 5.1.3. 縮幅プリミティブ変換 5.1.4. 拡幅と縮幅プリミティブ変換 5.1.5. 拡幅参照変換 5.1.6. 縮幅参照変換 5.1.7. ボックス化変換 5.1.8. ボックス化解除変換 5.1.9. 未検査変換 5.1.10...
  • 5.1.4. 拡幅と縮幅プリミティブ変換
    5. 変換と昇格 5.1. 変換の種類 5.1.1. 恒等変換 5.1.2. 拡幅プリミティブ変換 5.1.3. 縮幅プリミティブ変換 5.1.4. 拡幅と縮幅プリミティブ変換 以下の変換は拡幅と縮幅プリミティブの両方の変換の組み合わせです。 byteをcharへ変換 最初に、byteはintへ拡幅プリミティブ変換されます。次に変換されたintがcharに縮幅プリミティブ変換されます。 5.1.5. 拡幅参照変換 5.1.6. 縮幅参照変換 5.1.7. ボックス化変換 5.1.8. ボックス化解除変換 5.1.9. 未検査変換 5.1.10. 捕捉変換 5.1.11. 文字列変換 5.1.12. 禁止変換 5.1.13. 値集合変換 5.2. 代入変換 5.3. メソッド呼び出し変換 5.4. 文字列変換 5.5. キャスト変換 5.6. 数値昇格
  • 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の適切なスーパーインタフェースではない任意のインタフェ...
  • 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への拡幅プリミティブ変換は全く何の情報も失いません。数値は...
  • 進捗情報
    ...る部分が多い。 5. 変換と昇格 未着手。 6. 名前 未着手。 7. パッケージ 未着手。 8. クラス 未着手。 9. インタフェース 未着手。 10. 配列 未着手。 11. 例外 未着手。 12. 実行 未着手。 13. バイナリ―互換性 未着手。 14. ブロックと文 未着手。 15. 式 未着手。 16. 確実な代入 未着手。 17. スレッドとロック 未着手。 18. 文法 未着手。
  • 5.1.3. 縮幅プリミティブ変換
    5. 変換と昇格 5.1. 変換の種類 5.1.1. 恒等変換 5.1.2. 拡幅プリミティブ変換 5.1.3. 縮幅プリミティブ変換 プリミティブ型に対する22の特定の変換が縮幅プリミティブ変換(narrowing primitive conversion)と呼ばれます。 shortをbyteやcharへ変換 charをbyteやshortへ変換 intをbyteやshort、charへ変換 longをbyteやshort、char、intへ変換 floatをbyteやshort、char、int、longへ変換 doubleをbyteやshort、char、int、long、floatへ変換 縮幅プリミティブ変換は数値の全体的な大きさという情報を失うかもしれません。また、精度や範囲についても失うかもしれません。 doubleからfloatへの縮幅プリミティブ変換は...
  • Java言語仕様 Java SE 7版 日本語訳
    ...との関係   1.5. 参考文献 2. 文法   2.1. 文脈自由文法   2.2. 字句文法   2.3. 構文文法   2.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. 文字リテラル     3.10.5. 文字列リテラル     3.10.6. 文字・文字列リテラル用のエスケープシーケンス     3.10.7. ヌルリテラル   ...
  • 4.2.2. 整数演算
    ...換する方法は4.2.5.を参照してください。 整数演算子はいかなる形であれオーバーフローとアンダーフローを検出しません。 整数演算子は以下の場合において例外をスローします。 ヌル参照のボックス化解除変換が行われる場合、整数演算子はNullPointerExceptionをスローする。 除算演算子/および剰余演算子%で右オペランドがゼロの場合、ArithmeticExceptionをスローする。 インクリメント演算子++(15.14.2.、15.15.1.)とデクリメント演算子--(15.14.3.、15.15.2.)でボックス化変換が要求されたが実際に変換するのに必要なメモリーを確保できない場合、OutOfMemoryErrorをスローする。 例4.2.2-1. 整数演算 class Test { public static void main...
  • 1.1. 仕様の構成
    ...ェースとの関係 1.5. 参考文献
  • 4.2.4. 浮動小数点演算
    ...換する方法は4.2.5.を参照してください。 浮動小数点数の演算はIEEE754で定義されている通りに行われます(剰余演算子を除く)。特に、Javaプログラミング言語は、特定の数値アルゴリズムの望ましい特性の証明を容易にする、IEEE754非正規化浮動小数点数と緩やかなアンダーフロー(gradual underflow)を扱います。浮動小数点演算は計算結果が非正規化数であれば"ゼロにフラッシュする(flush to zero)"ということはありません。 プログラミング言語Javaはすべての浮動小数点演算子がその浮動小数点演算の結果を結果精度に丸めたかのよう振る舞う計算を行うことを要求しています。不正確な結果は,正確な結果に限りなく最も近い表現可能な値に丸められます。二つの同程度に近い代表値があるときは、もっとも重みのないビット(least sign...
  • 4.2.5. ブール型とブール値
    ...小数点演算 4.2.5. ブール型とブール値 boolean型はリテラルtrueとfalseで表される2つの論理的な量を表します。 ブール演算子は以下の通りです。 関係演算子==と!= 論理補数演算子! 論理演算子 と^と| 条件付きAND演算子 、条件付きOR演算子|| 条件演算子? 文字列結合演算子+、Stringオペランドとbooleanオペランドを与えるとbooleanオペランドの値を表すString("true"もしくは"false")に変換し2つの文字列を結合して新たなString型を作成します。 ブール式は以下のような文で制御フローを決定します。 if文 while文 do文 for文 boolean式は条件演算子? にてどちらの副式を評価するかを決定します。 boolean式とBo...
  • 4.5.2. 引数付き型のメソッドとコンストラクター
    ....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 をDと対応するC T1,...,Tn のスーパータイプとすると、   C T1,...,Tn ...
  • 3.2. 字句変換
    ...4. 行終端子 3.5. 入力要素とトークン 3.6. 空白 3.7. コメント 3.8. 識別子 3.9. キーワード 3.10. リテラル 3.11. 分離子 3.12. 演算子
  • 3. 字句構造
    ...4. 行終端子 3.5. 入力要素とトークン 3.6. 空白 3.7. コメント 3.8. 識別子 3.9. キーワード 3.10. リテラル 3.11. 分離子 3.12. 演算子
  • 3.10.3. ブールリテラル
    ...4. 行終端子 3.5. 入力要素とトークン 3.6. 空白 3.7. コメント 3.8. 識別子 3.9. キーワード 3.10. リテラル 3.10.1. 整数リテラル 3.10.2. 浮動小数点リテラル 3.10.3. ブールリテラル boolean型は2つの値を持ちASCII文字のブールリテラル(boolean literal)trueとfalseで表されます。 BooleanLiteral one of   true false ブールリテラルは常にboolean型(4.2.5.)です。 3.10.4. 文字リテラル 3.10.5. 文字列リテラル 3.10.6. 文字・文字列リテラル用のエスケープシーケンス 3.10.7. ヌルリテラル 3.11. 分離子 3.12. 演算子
  • 3.10.7. ヌルリテラル
    ...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. 文字列リテラル 3.10.6. 文字・文字列リテラル用のエスケープシーケンス 3.10.7. ヌルリテラル ヌル型はただ一つの値、ヌル参照を持ち、ヌルリテラル(null literal)nullで表します。全てASCII文字です。 NullLiteral   null ヌルリテラルは常にヌル型です。 3.11. 分離子 3.12. 演算子
  • 3.3. Unicodeエスケープ
    ...4. 行終端子 3.5. 入力要素とトークン 3.6. 空白 3.7. コメント 3.8. 識別子 3.9. キーワード 3.10. リテラル 3.11. 分離子 3.12. 演算子
  • 3.10.4. 文字リテラル
    ...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 or \ エスケープシーケンスの定義は3.10.6.を参照してください。 文字...
  • 3.10. リテラル
    ...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. 文字・文字列リテラル用のエスケープシーケンス 3.10.7. ヌルリテラル 3.11. 分離子 3.12. 演算子
  • 3.11. 分離子
    ...4. 行終端子 3.5. 入力要素とトークン 3.6. 空白 3.7. コメント 3.8. 識別子 3.9. キーワード 3.10. リテラル 3.11. 分離子 9つのASCII文字は分離子(separator)(句読点)です。 Separator one of   ( ) { } [ ] ; , . 3.12. 演算子
  • 3.12. 演算子
    ...4. 行終端子 3.5. 入力要素とトークン 3.6. 空白 3.7. コメント 3.8. 識別子 3.9. キーワード 3.10. リテラル 3.11. 分離子 3.12. 演算子 ASCII文字による37個のトークンは演算子(operator)です。 Operator one of   =      !  ~  ?     ==  =  = !=   || ++ --   +  -  *  /    |  ^  %         += -= *= /=  = |= ^= %=  =  =  =
  • 3.4. 行終端子
    ...ります。 3.5. 入力要素とトークン 3.6. 空白 3.7. コメント 3.8. 識別子 3.9. キーワード 3.10. リテラル 3.11. 分離子 3.12. 演算子
  • 3.1. Unicode
    ...へ、Java SE 5.0の時にUnicode 4.0へ対応が行われています。 Unicodeは元々16ビット固定長で策定されてきましたが、収録される文字数が増加し16ビットでは不足するようになりました。現在規定されているコードポイントの範囲は、16進数U+n記法で表すと、U+0000からU+10FFFFです。U+FFFF超の文字を補助文字(supplementary character)と呼びます。16ビットのコード長で全文字を表現するため、UnicodeではUTF-16と呼ばれる符号化を定義しています。UTF-16では補助文字は16ビット長のコードを2個、ペアで使用することによって符号化され、最初のコードは高位サロゲート(high-surrogate)範囲(U+D800からU+DBFF)、次のコードは下位サロゲート(low-surrogate)範囲(U+DC00からU+D...
  • 3.10.2. 浮動小数点リテラル
    ...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が先頭に付いた符号付き整数で表します。 16進数浮動小数点リテラルでは、少なくとも1桁の数(...
  • 4.1. 型と変数の種類
    ...(3.10.7.、15.8.1.)、名前を持ちません。 ヌル型は名前を持たないため、ヌル型の変数を宣言したり、ヌル型へキャストすることはできません。 ヌル参照はヌル型が唯一取りうる値です。 ヌル参照はどの参照型への拡幅参照変換も常に行うことができます。 実際には、プログラマーはヌル型を無視し,nullを任意の参照型となれる単なる特別なリテラルであると見なすことができます。 4.2. プリミティブ型と値 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 4.10. サブタイプ化 4.11. 型の使用箇所 4.12. 変数
  • 3.6. 空白
    ...4. 行終端子 3.5. 入力要素とトークン 3.6. 空白 空白(white space)はASCII空白文字、水平タブ文字、フォームフィード文字および行終端子です。 WhiteSpace   the ASCII SP character, also known as "space"   the ASCII HT character, also known as "horizontal tab"   the ASCII FF character, also known as "form feed"   LineTerminator 3.7. コメント 3.8. 識別子 3.9. キーワード 3.10. リテラル 3.11. 分離子 3.12. 演算子
  • 2.2. 字句文法
    ...記号Input(3.5.)から始まる生成規則の集合を定義しています。 この入力要素では空白とコメントは削られており、Javaプログラミング言語用の構文文法で使える終端記号の形になっています。これをトークンと呼びます。このトークンはJavaプログラミング言語の識別子やキーワード、リテラル、分離子、演算子です。 2.3. 構文文法 2.4. 文法記法
  • 4.5.1. 型実引数とワイルドカード
    ....4. 型変数 4.5. 引数付き型 4.5.1. 型実引数とワイルドカード 型実引数(type argument)は参照型かワイルドカード(wildcard)のいずれかです。ワイルドカードは型引数に関する知識が部分的にしかない場合に有効です。 TypeArguments    TypeArgumentList TypeArgumentList   TypeArgument   TypeArgumentList , TypeArgument TypeArgument   ReferenceType   Wildcard Wildcard   ? WildcardBoundsopt WildcardBounds   extends ReferenceType   super ReferenceType ...
  • 4.9. 交差型
    ....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 CiであるようなTk Ckが存在します。なければコンパイル時にエラーとなります。...
  • 4.10.2. クラスやインタフェース型間の型のサブタイプ化
    ....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θ,...,Ukθ 、ここでD U1,...,Uk はC T1,...,Tn の直接スーパータイプでありθ...
  • 3.10.6. 文字・文字列リテラル用のエスケープシーケンス
    ...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. 文字列リテラル 3.10.6. 文字・文字列リテラル用のエスケープシーケンス 文字・文字列用のエスケープシーケンス(escape sequence)は文字リテラルや文字列リテラルの中で1重引用符や2重引用符、バックスラッシュ文字といくかの非図形文字を表すことを可能にします。 EscapeSequence   \ b  /* \u0008 backspace BS */   \ t  /* \u0009 horizontal tab HT */   \ n  /* \u000a ...
  • 4.3.1. オブジェクト
    ...し キャスト演算子(5.5.、15.16.) 文字列結合演算子+、Stringオペランドと参照を与えると参照するオブジェクトのtoStringメソッドを呼び出すことによりString表現に参照を変換し(参照もしくはtoStringの結果のいずれかがヌル参照ならば"null"が使用されます)2つの文字列を結合して新たなString型を作成します instanceof演算子 参照等価演算子==と!= 条件演算子? 同一オブジェクトに対し参照は複数存在して構いません。大抵のオブジェクトはステートを持ち、クラスのインスタンスであるオブジェクトのフィールドに保存されたり、配列オブジェクトの構成要素である変数に保存されたりします。2つの変数が同じオブジェクトへの参照を持っているなら、オブジェクトを参照する一方の変数からオブジェクトのステートを変更すると、他方の変数から...
  • 3.9. キーワード
    ...4. 行終端子 3.5. 入力要素とトークン 3.6. 空白 3.7. コメント 3.8. 識別子 3.9. キーワード ASCII文字で記述された50の文字列がキーワード(keyword)として使用するために予約されており、識別子には使用できません。 Keyword one of   abstract  continue  for     new     switch   assert   default  if      package   synchronized   boolean  do     goto     private   this   break   double   implements  protected  throw   byte    else    import    public   throws   case    en...
  • 3.10.5. 文字列リテラル
    ...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   " StringCharactersopt " String...
  • 4.5. 引数付き型
    ....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 で構成されるClassTypeやInterfaceTypeとして書かれます。型実引数リストは型宣言指定子で指定される...
  • 3.7. コメント
    ...4. 行終端子 3.5. 入力要素とトークン 3.6. 空白 3.7. コメント 2種類のコメント(comment)があります。 /* text */  伝統的コメント ASCII文字/*とASCII文字*/の間の全てのテキストは無視されます(CやC++と同じ)。 // text  行末コメント ASCII文字//から行の終わりまでの全てのテキストは無視されます(C++と同じ)。 Comment   TraditionalComment   EndOfLineComment TraditionalComment   / * CommentTail EndOfLineComment   / / CharactersInLineopt CommentTail   * CommentTailStar   NotSt...
  • 3.5. 入力要素とトークン
    ...4. 行終端子 3.5. 入力要素とトークン エスケープ処理され入力行認識された入力文字と行終端子を入力要素(input element)の列に分解します。 Input   InputElementsopt Subopt InputElements   InputElement   InputElements InputElement InputElement   WhiteSpace   Comment   Token Token   Identifier   Keyword   Literal   Separator   Operator Sub   the ASCII SUB character, also known as "control-Z" 空白でもコメントでもな...
  • 1. はじめに
    ...ェースとの関係 1.5. 参考文献
  • 4.8. 未加工型
    ....4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 非ジェネリックのレガシーコードとのインタフェースを容易にするため、引数付き型の抹消や構成要素の引数付き型を抹消した配列型を型として利用できます。このような型を未加工型(raw type)と呼びます。 もう少し正確には、未加工型とは次の1つとして定義されます。 型実引数リストを持たないジェネリック型宣言の名前という形式の参照型 構成要素の型が未加工型である配列型 未加工型Rの非静的メンバー型、Rのスーパークラスやスーパーインタフェースから継承されていないこと 非ジェネリッククラス型やインタフェース型は未加工型ではありません。 未加工型の非静的型メンバーがなぜ未加工とみなせるのか、以下の例を考えます。 class Outer T { T t; ...
  • 3.8. 識別子
    ...4. 行終端子 3.5. 入力要素とトークン 3.6. 空白 3.7. コメント 3.8. 識別子 識別子(identifier)とはJava文字で始まりJava文字や数字が続く長さに制限のない列です。 Identifier   IdentifierChars but not a Keyword or BooleanLiteral or NullLiteral IdentifierChars   JavaLetter   IdentifierChars JavaLetterOrDigit JavaLetter   any Unicode character that is a Java letter (see below) JavaLetterOrDigit   any Unicode character that is a Ja...
  • 3.10.1. 整数リテラル
    ...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   HexNumeral IntegerTypeSuffixopt OctalIntege...
  • @wiki全体から「5. 変換と昇格」で調べる

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

目安箱バナー