はじめに
【Java】を記載する上で、最低限必要そうなことを、まとめました。
変数
プリミティブ型(値そのものを保持 ※1)
int ・・・ 32ビット整数(4バイト) 例:10 -2,147,483,648 ~ 2,147,483,647
long ・・・ 64ビット整数(8バイト) 例:33293304432234523L int 型の範囲を超える数値を代入する場合は末尾に「L」を記述 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
char ・・・ 16ビット(2バイト) 例'あ' または '1' Unicodeという文字コード規格での数字を表す(数字でも文字でもある) 文字コード(\u0000 ~ \uffff)の数値
short ・・・ 16ビット整数(2バイト) -32,768 ~ 32,767
byte ・・・ 8ビット整数(1バイト) -128 ~ 127
float ・・・ 32ビット 単精度 浮動小数点(4バイト) 例:5.99 ± 3.4 × 1039 ~ ± 1.4 × 10 - 45 細かい数字
double ・・・ 64ビット 倍精度 浮動小数点(8バイト) ± 1.8 × 10308 ~ ± 3.4 × 10 - 324 さらに細かい数字
boolean ・・・ 8ビット整数(1バイト) 論理値リテラル = true「真」 , false「偽」 , 空 リテラル=null
※1
メモリに保持する方法は以下
・ローカル変数の場合、スタック領域
・インスタンス変数の場合、ヒープ領域
⇒ @shiracamus さんコメントありがとうございます。
プリミティブ型(メモリのスタック領域に値が入っている
頂いたコメント
プリミティブ型のローカル変数はスタック領域ですが、
プリミティブ型のインスタンス変数はヒープ領域ですね。
参照型も同じく。
プリミティブ型変数は値そのものを保持(直接的値保持)、
参照型変数は値(オブジェクト)への
参照を保持(間接的値保持)、といった感じでしょうかね。
参照型(値:オブジェクトへの参照を保持)
String ・・・ String mozi = "abc"
※補足:Stringは特例となり、本来はインスタンスなので、
String s = new String("abc")
なお、配列は参照型として扱われる。「プリミティブ型」と「参照型」はメモリ管理の仕組みが異なる【Java】
ちなみに 文字の配列を文字列に変換
/* 'H', 'e', 'l', 'l', 'o'の文字の配列を定義 */
char[] letters = { 'H', 'e', 'l', 'l', 'o' };
/* 文字配列をStringクラスのコンストラクタを使って文字列に変換 */
String word = new String(letters);
/* 変換した文字列 「Hello」を 表示 */
System.out.println(word);
演算子
算術演算子
+ ・・・ 加算 例: A + B ・・・ AにBを加える
- ・・・ 減算 例: A - B ・・・ AからBを引く
* ・・・ 乗算 例: A * B ・・・ AにBを掛ける
/ ・・・ 除算 例: A / B ・・・ AをBで割る
% ・・・ 剰余 例: A % B ・・・ AをBで割った余り
関係演算子
< ・・・ 未満 例: A < B ・・・ AはBより小さい
<= ・・・ 以下 例: A <= B ・・・ AはBより小さいか等しい
> ・・・ 超過 例: A > B ・・・ AはBより大きい
>= ・・・ 以上 例: A >= B ・・・ AはBより大きいか等しい
== ・・・ 同値 例: A == B ・・・ AとBは等しい
!= ・・・ 同値ではない 例: A != B ・・・ AはBは等しくない
論理演算子
&& ・・・ AND 例: A && B ・・・ AとBが共にtrueならtrue
|| ・・・ OR 例: A || B ・・・ AかBの少なくとも1つがtrueならtrue
<> ・・・ NOT 例: !A ・・・ Aがtrueならfalse、Aがfalseならtrue
インクリメント演算子
++x ・・・ 前置 例: y = ++x; 手順① x = x + 1; 手順② y = x;
x++ ・・・ 後置 例: y = x++; 手順① y = x; 手順② x = x + 1;
デクリメント演算子
--x ・・・ 前置 例: y = --x; 手順① x = x - 1; 手順② y = x;
x-- ・・・ 後置 例: y = x--; 手順① y = x; 手順② x = x - 1;
三項演算子
// 条件式 ? 式1 : 式2
条件式が true の場合は式1を評価した値を返します fales の場合は式2を評価した値を返します
int a = 10;
String result = (a > 0) ? "Positive" : "Negative or Zero";
System.out.println("The number " + a + " is " + result);
/* The number 10 is Positive */
//if文
int a = 0;
String result;
if (a > 0) {
result = "Positive";
} else {
result = "Negative or Zero";
}
System.out.println("The number " + a + " is " + result);
/* The number 0 is Negative or Zero */
オブジェクト指向1
参考文献
Java関連情報サイト様