内定者研修でjavaの勉強を1からやり直すことになったので,メモとして書き残していきたいと思います.
超初心者向けに関係ないことも色々書いていきます.
今回の内容
1.各種データ型(int,long,double,char,boolean,string)について学ぶ.
2.ついでにエスケープシーケンスを使う.
データ型とは
データ型というのは,プログラム内で扱うデータの種類のことです.
1,-50,7000,みたいな整数を扱う場合と,「こんにちは」みたいな文字列を扱う場合では,それぞれ異なるデータ型を指定しなければなりません.
javaでは主にint,long,double,char,boolean,stringの6つのデータ型を扱います.
int型
int型は1,-50,7000,みたいな整数を扱う場合に使います.
javaのint型は4バイト符号付き整数ですので,-2147483648~2147483647の範囲の数字を扱うことができます.それよりも大きい(小さい)数字を扱いたいときはlong型を使います(後述).
int型の変数宣言はこんな感じ(ほかも大体一緒だけどね…).
int hoge;
int hoge = 3;
1行目は変数宣言を行うだけ.
2行目は変数宣言と同時に「3」を代入する場合です.
プログラミング超初心者向けに詳しく説明しておくと,
- 変数宣言…「これからこういう名前のこのデータ型の変数を使います!」という風に宣言すること.これをしてあげないと,変数が使えない.
- 代入…変数に値を格納すること.「hoge = 数字」とやると,hogeという変数に数字が上書きされる.
こんな感じに使います.
public class DataInt {
public static void main(String[] args) {
// 変数value1を宣言,初期化する
int value1 = 7000;
// 変数value1の値を表示する
System.out.println("value1 = " + value1);
// 変数value2を宣言,初期化する
int value2 = -50;
// 変数value2の値を表示する
System.out.println("value2 = " + value2);
// 定数VALUE1を宣言,代入する
final int VALUE1 = 21;
// 定数VALUE1の値を表示する
System.out.println("VALUE1 = " + VALUE1);
}
}
それぞれの変数を宣言,代入して,変数の値を標準出力するだけのプログラムです.
value1 = 7000
value2 = -50
VALUE1 = 21
long型
long型は,int型よりも大きい(小さい)数字を扱うことができます.
8バイト符号付き整数ですので,約-922京~約922京の範囲の数字を扱うことができます.すごい(小並感)
基本的にint型と同じ使い方ですが,代入するときに数字の最後に**「L」**をつけるというルールがあります.
long hoge;
long hoge = 2500000000L;
いまさらですけど,javaは行の終わりに必ず「;」(セミコロン)をつけないといけません.
僕はこれが嫌いです(忘れるから).
ちなみにPythonというプログラミング言語はセミコロンが要りません.すごい(小並感)
さらに変数宣言も要りません.すごい(小並感)
…long型の使い方はこんな感じです.
public class DataLong {
public static void main(String[] args) {
// 変数value1に7000000000000Lを代入する
long value1 = 7000000000000L;
// 変数value1の値を表示する
System.out.println("value1 = " + value1);
// 変数value2に-500000000000Lを代入する
long value2 = -500000000000L;
// 変数value2の値を表示する
System.out.println("value2 = " + value2);
// 定数VALUE1に210000000000Lを代入する
final long VALUE1 = 210000000000L;
// 変数VALUE1の値を表示する
System.out.println("VALUE1 = " + VALUE1);
}
}
DataInt.javaをちょっとだけ改変しただけです.
実行するとこんな感じ.
value1 = 7000000000000
value2 = -500000000000
VALUE1 = 210000000000
もちろん,long型でint型の範囲の数字を扱うこともできますけど,その変数に入れる可能性がある数字がint型の範囲に収まっているのであれば,int型を使うのが好ましいです.
無駄なメモリを食わないようにしましょうね.
double型
double型は小数を扱うためのデータ型です.int型やlong型では小数は扱えません.
double型は8バイト浮動小数点数と呼ばれる小数を扱います.
double型では小数第1位が0でも,「.0」まで書き,末尾に**「d」**をつけるというルールがあります.
宣言は…省略したい…
double hoge;
double hoge = 14.3d;
またしても使いまわし.
public class DataDouble {
public static void main(String[] args) {
// 変数value1に70.1dを代入する
double value1 = 70.1d;
// 変数value1の値を表示する
System.out.println("value1 = " + value1);
// 変数value2に-5.0dを代入する
double value2 = -5.0d;
// 変数value2の値を表示する
System.out.println("value2 = " + value2);
// 定数VALUE1に2.1dを代入する
final double VALUE1 = 2.1d;
// 変数VALUE1の値を表示する
System.out.println("VALUE1 = " + VALUE1);
}
}
実行結果はこちら.
value1 = 70.1
value2 = -5.0
VALUE1 = 2.1
もうわかってきましたか?
char型
今までは数字を扱うデータ型でしたが,char型は文字を扱うデータ型です.
2バイトなので1つの変数で1つの文字しか使えないです.
ちなみに,「char」は「きゃら」とか「ちゃー」って読みます.
僕は「きゃら」派ですがたまに「ちゃー」って言ったりします.
代入するときは,文字を「'」(シングルクォート)で囲みます.
宣言飛ばします!!
public class DataChar {
public static void main(String[] args) {
// 変数value1に'a'を代入する
char value1 = 'a';
// 変数value1の値を表示する
System.out.println("value1 = " + value1);
// 変数value2に'あ'を代入する
char value2 = 'あ';
// 変数value2の値を表示する
System.out.println("value2 = " + value2);
// 定数VALUE1に'1'を代入する
final char VALUE1 = '1';
// 変数CHAR_VALUE1の値を表示する
System.out.println("VALUE1 = " + VALUE1);
}
}
ここで1点注意!
char型は文字なので,VALUE1に代入した「1」は文字の「1」です.
なので,足し算とか引き算とかその他もろもろはできません!
変数を足し算引き算とかに使うなら,上記のどれかを使いましょう.
boolean型
boolean型は一般に「フラグ」とも呼ばれ,**「true」か「false」**のどちらかの値しか持たないという特殊な変数です.
「死亡フラグ」とかのフラグです.
フラグが立つ=true,フラグが折れる=false,という感じですかね.
あ,ちなみに「ぶーりあん」と読みます.
trueとかfalseっていう値のことをブール値って言ったりします.
public class DataBoolean {
public static void main(String[] args) {
// 変数value1にtrueを代入する
boolean value1 = true;
// 変数value1の値を表示する
System.out.println("value1 = " + value1);
// 変数value2にfalseを代入する
boolean value2 = false;
// 変数value2の値を表示する
System.out.println("value2 = " + value2);
// 定数VALUE1にtrueを代入する
final boolean VALUE1 = true;
// 変数VALUE1の値を表示する
System.out.println("VALUE1 = " + VALUE1);
}
}
value1 = true
value2 = false
VALUE1 = true
こんなのどこで使うんだ?って思うかもしれませんが,そのうち使う時が来ます.
string型
string型はchar型とは異なり,文字列を扱うことができるデータ型です.
string型なら複数文字でも1つの変数に格納できます.
代入するときは,文字列を「"」(ダブルクォート)で囲みます.
public class DataString {
public static void main(String[] args) {
// 変数value1に"java学習"を代入する
String value1= "java学習";
// 変数value1の値を表示する
System.out.println("value1 = " + value1);
// 変数value2に"あ"を代入する
String value1 = "あ";
// 変数value1の値を表示する
System.out.println("value1 = " + value1);
// 定数VALUE1に"ジャバ"を代入する
final String VALUE1= "ジャバ";
// 変数VALUE1の値を表示する
System.out.println("VALUE1 = " + VALUE1);
}
}
string型は文字列なので,char型の「あ」とstring型の「あ」は異なります.
エスケープシーケンス
エスケープシーケンスとは,通常では表示できない特殊文字を出力する方法です.
例えば,なにも考えずに標準出力で「今日は"晴れ"です.」と出力しようとすると,こうなります.
System.out.println("今日は"晴れ"です.")
これでは,「今日は」と「です.」は「"」で囲まれていても,「晴れ」が囲まれていないことになってしまいます(括弧と一緒).
こういうときは,「¥」を使います.
これは全角だけどコードは半角で書いてください.環境によっては「\」になっちゃうかも…
System.out.println("今日は\"晴れ\"です.")
…「¥(半角)」が出せない…
まぁこれを使うことで特殊文字が打てるってことです!!
改行は「\n」,タブは「\t」等色々あるのでググってみてください.
おわり
長くなりましたけど,データ型とエスケープシーケンスについて,ある程度は解説しきったと思います.
Qiita慣れてなくて書き方がわからんので勉強しておきます…