倭マン's BLOG

くだらない日々の日記書いてます。 たまにプログラミング関連の記事書いてます。 書いてます。

翔泳社 SJC-P テキスト覚え書き : 第2章 データ型と演算子 (データ型編)

この章で学ぶこと

SUN教科書 Javaプログラマ(SJC-P) 5.0・6.0両対応(試験番号310-055、310-065)

SUN教科書 Javaプログラマ(SJC-P) 5.0・6.0両対応(試験番号310-055、310-065)

データ関連の概念

  • 変数」 ・・・基本データ型変数、参照型変数
  • 変数の宣言
    • 「《型》 《名前》;」
    • 「《型》 《名前》 = 《初期値》;」 宣言と初期化

変数の命名

  • 先頭文字は a-z, A-Z, _, $ でなければならない
  • 2文字目以降は a-z, A-Z, _, $, 0-9 を使用できる (先頭文字+数字
  • Java キーワードは使用できない

予約語(キーワード)

分類は拙者の独断と偏見:

  • 基本データ型・・・boolean, byte, short, int, long, char, float, double, void
  • 参照型宣言・・・interface, class, enum, implements, extends, package
  • アクセス修飾子・・・public, protected, private
  • 用法修飾子・・・final, static, abstract, transient, strictfp, native
  • スレッド関連修飾子・・・synchronized, volatile
  • 制御構造・・・if, else, for, while, do, switch, case, return, break, continue
  • 演算子・・・new, instanceof, assert, import
  • オブジェクト参照・・・this, super
  • 例外・・・throws, throw, try, catch, fanally
  • その他・・・goto, const
  • キーワードは全て小文字
  • goto, const予約語だが、Java においては特別な意味を持っていない
  • true, false, nullリテラル(定数)として使用するので、識別子としては使用できない

基本データ型

データ型 意味 サイズ 表現できる値
byte 符号付整数 8ビット -28-1 - 28-1-1 (-128 - 127)
short 符号付整数 16ビット -216-1 - 216-1-1 (-32768 - 32767)
int 符号付整数 32ビット -232-1 - 232-1-1
long 符号付整数 64ビット -264-1 - 264-1-1
float 浮動小数点数 32ビット IEEE754 に基づく値
double 浮動小数点数 64ビット IEEE754 に基づく値
char Unicode で表現できる1文字 16ビット \u0000 - \uFFFF
boolean 真偽値 1ビット true, false

基本データ型変数の宣言および初期化


変数宣言の構文

《修飾子》 《データ型》 《変数名》 = 《初期値》;

  • 初期値の代入は必須ではない
  • メソッド内での変数宣言
    • 修飾子の指定はできない
    • 変数の使用する前に明示的に初期化する必要がある(しない場合はコンパイルエラー
  • メソッド外部での変数宣言
    • 初期化しなくてもデフォルト値が代入される
変数の種類 宣言箇所 スコープ
ローカル変数 メソッド内 宣言されているメソッド内
インスタンス変数 クラスの内部 宣言されているクラス内
static 変数 クラス内部、static 修飾子を付与 変数が宣言されているクラス

リテラル

  • リテラル」・・・定数
  • boolean リテラル・・・ true, false (0は不可)
  • char リテラル・・・1文字を単一引用符(')で囲む(2文字以上を囲むとコンパイルエラー
char c0 = 'a'
char c1 = 'あ'    // 日本語もOK
char c2 = 'AB'    // 2文字以上はコンパイルエラー
char c3 = '\u00AB'    // エスケープシーケンスによるリテラル

エスケープシーケンス

\n 改行
\r 復帰
\t タブ
\b バックスペース
\' 単一引用符
\" 二重引用符
\\ \

整数リテラル

  • 指定がなければ int
  • 10進数・・・通常の数値 1, 23, 456
  • 8進数・・・0で始まる数値 07, 089
  • 16進数・・・0x, 0X で始まり、0-9, a-d, A-D からなる数値 0x12ab, 0X34CD
  • long 型を指定するには、リテラルの後に L または l を付与する 12L, 345l

浮動小数リテラル

  • 指定がなければ double
  • 次のうちどれかを満たせば浮動小数点型のリテラル
    • 小数点を含む
    • e または E を含む (指数表記)
    • 接尾辞 f または F を含む (float 型を指定)

デフォルト初期値

データ型 デフォルト値
byte, short, int, long 0
float 0.0f
double 0.0
char \u0000
boolean false

参照型


配列

配列の作成

  1. 配列名を宣言する
  2. 配列のインスタンスを作成して代入
  3. 書く配列要素の初期化

配列名の宣言

int[] intArray1;
int intArray2[];
int[5] intArray3;    // コンパイルエラー

配列の作成

intArray1 = new int[3];
  • 配列のサイズは変更できない

配列要素への値の代入

intArray1[0] = 12;
intArray1[1] = 345;
intArray1[2] = 6789;
  • 配列のインデックスは0から始まる

配列の初期化

int[] intArray4 = {123, 45, 6789};
int size = intArray4.length;
  • 配列の初期化」とは配列の宣言、領域の確保、値の代入を一度に行うこと
  • 配列の要素数は「.length」で取得できる