黒本 2章Javaの基本データ型と文字列の操作 Flashcards
8進数の整数リテラルの記述
「0」を接頭辞としてつける。
識別子の規則3つ
・予約語を識別子として使うことはできない。
・使える記号は、アンダースコア「_」と$マークのみ。
・数字から初めてはいけない。
float型リテラルの明示方法
「1.99f」のようにfを付ける。
ダイヤモンド演算子「<>」とは
変数宣言時のジェネリクスで指定された型パラメータを参照する演算子。
参照できる型情報がなければ、Object型が型パラメータとして与えられる。
varによる型推論のタイミング
varによる型推論は、コンパイル時に行われます。
コードをコンパイルする際に型が決まります。
Stringオブジェクトの代表的な作成方法2つ
・newを使ってインスタンス化する。
・ダブルクォーテーション「”」で括った文字列リテラルを記述する。
immutable(不変)なオブジェクトの定義方法4つ
・すべてのフィールドをprivateで修飾する。
・オブジェクト内部を変更可能なメソッドは提供しない(たとえば、setterメソッドを提供しない)
・クラスをfinalで宣言し、メソッドがオーバーライドされないことを保証する(サブクラスからの変更を防ぐ)
・内部に可変オブジェクトを保持している場合、そのオブジェクトを外部に提供しない(たとえば、getterメソッドを提供しない)
CharAtメソッド
インスタンスが保持している文字列から、引数で指定された位置にある1文字だけを抜き出して戻します。
文字列の範囲外にアクセスした場合、java.lang.StringIndexOutOfBoundsExceptionがスローされます。
indexメソッド
引数で指定された文字が文字列のどの位置に存在するか調べるためのメソッド
引数で指定した文字が存在しなければ-1が戻されます。
lengthメソッド
文字数を戻すメソッド
コンパイルエラーと例外がスローされる時の違い
コンパイルエラーはソースコードがコンパイルされる時。
例外がスローされる時は、プログラムが実行されている最中、ランタイム時に発生します。
concatメソッド
インスタンスが保持する文字列を、引数として渡された文字列と連結し、新しい文字列を返すメソッドです。
StringBuilderメソッド
StringBuilderのインスタンスの現在のバッファの容量を戻すメソッド。
internメソッド
コンスタントプールを含むメモリ内の文字列を探して、再利用するためのメソッドです。
配列とは
値の集合を扱うための「インスタンス」です。
Javaの配列は、「配列クラス」から作られた「インスタンス」であり、値の集合を扱うことを目的としています。
配列型変数の「[ ]」の位置
int [] array;
この大カッコは、データ型の後ろに記述するだけでなく、変数名の後ろに記述することもできます。
int array[];
配列型変数の役割
配列インスタンスへの参照を代入するだけ。
参照先の配列がいくつの要素を扱えるかは関係ありません。そのため、配列型変数を宣言するときは次のように要素数を指定することはできません。
int[ 2 ] array;
初期化子とは
配列インスタンスの生成と同時に要素の値を初期化したい場合に使う「{}」。
int [] array = {10, 20, 30};
配列インスタンスの扱える要素数の指定の注意点
要素数の指定は、必ず整数値で記述しなくてはいけません。
コレクションとは
何らかの集合のこと
配列の4つの制約
1,同じ型、もしくは互換性のある方しか扱えない。
2,扱える要素数を最初に決めなくてはいけない。
3,要素アクセスには、添え字を使わなくてはいけない。
4,要素アクセスの際には、要素数を超えないよう配慮しなければいけない。
コレクションAPI、コレクション・フレームワーク
簡単にコレクションを扱える機能を持つ、複数のインターフェースやクラスで構成されるクラス群です。
java.util.ArrayListクラスとは
「動的配列」とも呼ばれる、コレクションAPIの一つ。
ArrayListクラスの特徴6つ
1、オブジェクトであればどのような型でも扱える。
2、必要に応じて要素数を自動的に増やす。
3、追加したい順に並ぶ。
4、nullも値として追加できる。
5、重複した値も追加できる。
6、スレッドセーフではない。