naoppy-jyokenの日記

Javaで競プロをするぞ、NITAC情研用

Java入門6

今日の目標

基本型について知る

基本型について学ぼう

www.okapiproject.com

によくまとまっているので、目を通してください。

以下、補足

基本型はプリミティブ型とも呼ばれる。

整数型について

byte、short、int、longと整数型には沢山の種類があります。 これらの本質的な違いは使用するメモリの量です。沢山のメモリを使えば使うほど、大きな数も扱えるようになります

byte型、short型はメモリが潤沢にない時代には使われていたこともあったようですが、メモリが大容量化した今の時代にあえてbyte型、short型を使う人はいません基本的に整数を扱うときはint型を使いましょう

int型で表すことのできる範囲(だいたい±21億、±109)を超えるような数字を扱うときのみ、longを使うようにしましょう。

浮動小数点型について

浮動小数点とは何でしょうか?これは、少数を内部でどう表しているかを示しています。詳しく知りたい人は検索してみてください。

こちらも、メモリを節約するためにfloat型を使う時代もありましたが、今はできるだけ高精度なdouble型を使うようにしましょう。float型は基本的に使いません。

文字型について

char型のみです。””文字””型なので一文字しか表現できません。 実は、"Hello, World!"などの文字列はchar型を沢山集めて表現しています。

ブール型

真偽値型、ブーリアンなど様々な呼び方があります。

これは2通りの状態(true:真かfalse:偽)しか持ちません。次回以降にする条件分岐の条件に使われます。

実践してみる

さて、これで皆さんは変数の宣言、およびプリミティブ型について学習しました。これらを使ったプログラムを書いて見ましょう。

準備

Code, Compile & Run | CodeChefにアクセスして、JAVAを選びます。

class Codechef
{
    public static void main (String[] args)
    {
        int i = -21000000;
        int i2 = 30352534;
        int i3 = i + i2;
        long l = 535252523853205L;
        double d = 3.1415924324325555555;
        char c = 'A';
        boolean b = true;
        boolean b2 = false;
        boolean b3 = 3 > 2;
        
        System.out.println(d);
        System.out.println(b3);
        
        double result = 1000 * d;
        System.out.println(result);
    }
}

int i3 = i + i2;では、右辺は値ではなく、別の変数を含む計算式の結果になっています。これも変数に代入できます。

long型の値の末尾には大文字のLを付けることに注意してください。つけない場合、int型の値と解釈され、21億を超えているのでコンパイルエラーになります。

まだ、double型に入れた実際の値3.1415924324325555555と、出力結果の値3.1415924324325557が違うことに注目してください。 double型の精度の限界です。

また、3 > 2の結果をboolean型の変数に代入できていることにも注目してください。 代入できるということは、3 > 2はboolean型の値を返すということがわかります。

double result = 1000 * d;ここでは、int型の値1000とdouble型の値を掛けています。 その結果はintなのでしょうか?それともdoubleなのでしょうか?。 見ればわかる通り、double型になります。

次回は変数に代入しているのが何なのかについて詳しくやります。