🌊

【Java Sliver勉強】識別子とデータ型について

2023/07/31に公開

いつもあるの識別子のルール

  • あたまもじは数字を使う事はできません
  • 使える記号は $_ のみ
  • すでに Java が使ってる予約語が使えない
  • 大文字小文字が区別しています
  • 長さの制限がないみたい

データタイプによっての初期化値

データタイプ 初期化の値
byte 0
char '\u0000'
short 0
int 0
long 0L
float 0.0f
double 0.0d
boolean false
Object null

タイプの間の格納関係

ルールはサイズが大きいタイプは基本的にサイズが小さいタイプが直接格納できる
例外もあるんですけど大体はこのようです

------- byte char short int long float double boolean Object String
byte CAST CAST CAST CAST CAST CAST String.valueOf
char CAST CAST CAST CAST CAST String.valueOf
short CAST CAST CAST CAST String.valueOf
int CAST CAST CAST String.valueOf
long CAST CAST String.valueOf
float CAST String.valueOf
double String.valueOf
boolean String.valueOf
Object String.valueOf
String String.valueOf String.valueOf String.valueOf String.valueOf String.valueOf String.valueOf String.valueOf String.valueOf String.valueOf
  • ぢなみに float f = 0.4; これではコンパイラーに Type mismatch: cannot convert from double to float って叱られた。
  • Object は CAST 可能ですが、char c = (char) new Object(); ということをしたら java.lang.ClassCastE✗ception になります。これはコンパイラーエラーではありません。

違うタイプの ➕ 足し算について

  • 足し算の項が String がある場合、結果は String です
  • 項は int しかないの場合は、結果が int です
    1 + 2 + '3' -> (1+2) + '3'(charだからASCIIに変換->51) つまり 1 + 2 + '3' = (int) 54 です
  • タイプが小さいとタイプが大きいの足し算、結果のタイプは大きいの方です。

そのほかの注意するべきポイント

  • char は負数がない
  • ほかの数字表示タイプは全員負数が持っています
GitHubで編集を提案

Discussion