LoginSignup
6
6

More than 5 years have passed since last update.

java学び直しメモ part1 ~データ型~

Last updated at Posted at 2014-10-31

内定者研修で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型の変数宣言はこんな感じ(ほかも大体一緒だけどね…).

IntDeclaration.java
int hoge;
int hoge = 3;

1行目は変数宣言を行うだけ.
2行目は変数宣言と同時に「3」を代入する場合です.
プログラミング超初心者向けに詳しく説明しておくと,

  • 変数宣言…「これからこういう名前のこのデータ型の変数を使います!」という風に宣言すること.これをしてあげないと,変数が使えない.
  • 代入…変数に値を格納すること.「hoge = 数字」とやると,hogeという変数に数字が上書きされる.

こんな感じに使います.

DataInt.java
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」をつけるというルールがあります.

LongDeclaration.java
long hoge;
long hoge = 2500000000L;

いまさらですけど,javaは行の終わりに必ず「;」(セミコロン)をつけないといけません.
僕はこれが嫌いです(忘れるから).
ちなみにPythonというプログラミング言語はセミコロンが要りません.すごい(小並感)
さらに変数宣言も要りません.すごい(小並感)
…long型の使い方はこんな感じです.

DataLong.java
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」をつけるというルールがあります.
宣言は…省略したい…

DoubleDeclaration.java
double hoge;
double hoge = 14.3d;

またしても使いまわし.

DataDouble.java
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」は「きゃら」とか「ちゃー」って読みます.
僕は「きゃら」派ですがたまに「ちゃー」って言ったりします.
代入するときは,文字を「'」(シングルクォート)で囲みます.

宣言飛ばします!!

DataChar.java
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っていう値のことをブール値って言ったりします.

DataBoolean.java
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つの変数に格納できます.
代入するときは,文字列を「"」(ダブルクォート)で囲みます.

DataString.java
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型の「あ」は異なります

エスケープシーケンス

エスケープシーケンスとは,通常では表示できない特殊文字を出力する方法です.
例えば,なにも考えずに標準出力で「今日は"晴れ"です.」と出力しようとすると,こうなります.

Escape.java
System.out.println("今日は"晴れ"です.")

これでは,「今日は」と「です.」は「"」で囲まれていても,「晴れ」が囲まれていないことになってしまいます(括弧と一緒).
こういうときは,「¥」を使います.
これは全角だけどコードは半角で書いてください.環境によっては「\」になっちゃうかも…

Escape2.java
System.out.println("今日は\"晴れ\"です.")

…「¥(半角)」が出せない…
まぁこれを使うことで特殊文字が打てるってことです!!
改行は「\n」,タブは「\t」等色々あるのでググってみてください.

おわり

長くなりましたけど,データ型とエスケープシーケンスについて,ある程度は解説しきったと思います.
Qiita慣れてなくて書き方がわからんので勉強しておきます…

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6