Java変数 – エンジニアの入り口 https://eng-entrance.com 「エンジニアの入り口」は、プログラミング入門やエンジニアリング入門の知識が満載の初心者のための勉強サイトです。プログラミングやサーバ、ネットワークの基礎知識や勉強方法を習得できます。 Wed, 19 Feb 2020 03:23:19 +0000 ja hourly 1 https://wordpress.org/?v=5.2.19 JavaのIntegerクラスについてのまとめ https://eng-entrance.com/java-variable-integer https://eng-entrance.com/java-variable-integer#respond Tue, 23 May 2017 00:26:52 +0000 https://eng-entrance.com/?p=5751 JavaのIntegerクラスはint型の値をラップするオブジェクトだ。

このページではJavaのIntegerについてまとめてご紹介していこう。

Integerクラスとは

Integerクラスは、プリミティブ型intの値をラップするオブジェクトである。このオブジェクトが持つint型のフィールドはひとつだけである。加えて、int型の値を扱う時に役立つ定数やメソッドだけでなく、整数(int)を文字列(String)に、また文字列を整数に変換するいくつかのメソッドを提供している。

整数から文字列に変換

Integerクラスが提供する整数から文字列に変換するクラス・メソッドがある。

書き方の基本は簡単だ。

整数の文字列 = Integer. toString (対象となる整数)

このメソッドのAPI仕様の詳細を見てみよう。

API仕様

toString(int i)

戻り値の型

public static String

内容

指定された整数で表されたStringオブジェクトを戻す。変数は、符号付の10進法表記に変換されており、変数と基数10がtoString(int, int)メソッドの引数として与えられたのとまったく同じ文字列が戻される。

 

引数:

i - 変換されるべき整数。

 

戻り値:

引数を10進数で表した文字列。

サンプルプログラム

このサンプルプログラムは、int型を文字列に変換するためのtoString(int i)メソッドを使っている。

public class IntegerToString {
    public static void main(String[] args) {
        int value = 123;//[1]
        String string = Integer.toString(value);//[2]
        System.out.println("[3]string = " + string);
   }
}               

実行結果

[3]string = 123

サンプルプログラムの説明

簡単にプログラムの解説をしてゆこう。

  • [1] int型変数valueの宣言をし、123を代入する。
  • [2] toStringメソッドを使って、変数valueを文字列オブジェクトstringに変換する。
  • [3] stringを表示する。

文字列から整数に変換

Integerクラスが提供する文字列から整数に変換するクラス・メソッドがある。

書き方の基本は簡単だ。

文字列の整数値 = Integer. parseInt (対象となる文字列)

このメソッドについてそのAPI仕様の詳細を見てみよう。

API仕様

parseInt(String s)

戻り値の型

static int

内容

文字列を、符号付10進数の整数に変換する。文字列の中の文字は、すべて10進数の数でなければならない。ただし、例外として最初の文字が負の値を示すASCIIマイナスサイン'-' ('\u002B')、あるいは正の値を示すASCIIプラスサイン'+' ('\u002B')であるかもしれない。

変数と基数10が引数としてparseInt(java.lang.String, int)メソッドに与えられたのとまったく同じ整数の値の結果が戻される。 

引数:

s – 変換されるためにint型の表現を含む文字列。

戻り値:

引数を10進数で表現した整数。

例外:

NumberFormatException – もし文字列が変換できる整数を含まないならば。

サンプルプログラム

このサンプルプログラムは、文字列からint型に変換するためのparseInt(String s)メソッドを使っている。

public class StringToInteger {
    public static void main(String[] args) {
        String string = "123";//[1]
        int value = Integer.parseInt(string);//[2]
        System.out.println("[3] string = " + value);
   }
}

実行結果

[3] string = 123

サンプルプログラムの説明

簡単にプログラムの解説をしてゆこう。

  • [1] String型参照変数stringを宣言し、”123”へのポインタを代入する。
  • [2] parseIntメソッドを使って、変数stringの指す文字列をint型変数valueに変換する。
  • [3] valueを表示する。

値を持つオブジェクトから変換

Integerクラスは、そのオブジェクトから様々な型の値に変換することもできる。オブジェクトは、整数値からコンストラクタかクラス・メソッドvalueOfを使って作る。変換は、それぞれの型に対応したインスタンス・メソッドが用意されている。

integer

このメソッドについてそのAPI仕様の詳細を見てみよう。

API仕様

ここでは、String型の値からint型の値を得ることを想定して、そのふたつの仕様を記述する。他の仕様の詳細は仕様書を参照してできる。内容はほぼ同じである。

valueOf (String s)

戻り値の型

public static Integer

内容

指定されたString値をもつIntegerオブジェクトを戻す。変数は符号付10進数の整数を表すものとして実行され、変数がparseInt(java.lang.String)メソッドに与えられたのとまったく同じように実行される。その結果は、文字列によって指定されたInteger値を表すIntegerオブジェクトである。

言い換えれば、このメソッドは値と等しいIntegerオブジェクトを戻す。

引数:

s – 変換された文字列。

戻り値:

文字列変数によって表された値をもつIntegerオブジェクト。 

例外:

NumberFormatException – もし文字列が整数として変換されないならば。

valueOf (int i)

戻り値の型

public static Integer

内容

指定されたint値を表すIntegerのインスタンスを戻す。もし新たなIntegerのインスタンスが要求されないならば、このメソッドは何度も要求される値をキャッシュすることによって著しくスペースと時間性能の向上を生み出すので、コンストラクタInteger(int)よりもむしろこのメソッドが一般的に用いられるべきである。

このメソッドは常に127から128の範囲の値をキャッシュするが、この範囲外の他の値もキャッシュされるかもしれない。

 

引数:i – int値。

 

戻り値:iによって表されたIntegerインスタンス。

サンプルプログラム

このサンプルプログラムは、String型の値からAPI仕様にあるvalueOfクラス・メソッドを使用してIntegerクラスのオブジェクトを取得し、取得したオブジェクトから様々な型の値に変換している。

public class CreationOfObject {
    public static void main(String[] args) {
        Integer integerObject = Integer.valueOf("123");//[1]

        int intValue = integerObject.intValue();//[2]
        System.out.println("[3] intValue= " + intValue);
        byte byteValue = integerObject.byteValue();//[4]
        System.out.println("[5] byteValue= " + byteValue);
        long longValue = integerObject.longValue();//[6]
        System.out.println("[7] longValue= " + longValue);
        int shortValue = integerObject.shortValue();//[8]
        System.out.println("[9] shortValue= " + shortValue);
        float floatValue = integerObject.floatValue();//[10]
        System.out.println("[11] floatValue= " + floatValue);
        double doubleValue = integerObject.doubleValue();//[12]
        System.out.println("[13] doubleValue= " + doubleValue);
    }
}

実行結果

[3] intValue= 123
[5] byteValue= 123
[7] longValue= 123
[9] shortValue= 123
[11] floatValue= 123.0
[13] doubleValue= 123.0

サンプルプログラムの説明

  • [1]valueOfメソッドを使って、文字列「123」で初期化されたintegerオブジェクトを戻す。
  • [2]intValueメソッドを使って、integerオブジェクトからint型の値intValueに変換する。
  • [3]intValue値を表示する。
  • [4]byteValueメソッドを使って、integerオブジェクトからbyte型の値byteValueに変換する。
  • [5]byteValue値を表示する。
  • [6]longValueメソッドを使って、integerオブジェクトからlong型の値longValueに変換する。
  • [7]longValue値を表示する。
  • [8]shortValueメソッドを使って、integerオブジェクトからshort型の値shortValueに変換する。
  • [9]shortValue値を表示する。
  • [10]floatValueメソッドを使って、integerオブジェクトからfloat型の値floatValueに変換する。
  • [11]floatValue値を表示する。
  • [12]doubleValueメソッドを使って、integerオブジェクトからdouble型の値doubleValueに変換する。
  • [13]doubleValue値を表示する。

不正な文字列に対応させる

変換する文字列が整数値でない場合がある。この異常事態に対応するためにNumberFormatException例外が用意されている。それで、この例外に対応する処理を追加することにより、不正な文字列に対応することができる。

try {
    正常処理
} catch (NumberFormatException numberFormalException) {
    例外処理
}

 

書き方の基本はこれだ。

サンプルプログラム

このサンプルプログラムは、文字列からint型に変換するためのparseInt(String s)メソッドを使ったサンプルプログラムである。「1abc23」を変換しようとすると例外が発生する。この時、例外処理に実行が移る。

public class IllegalStringToInteger {
    public static void main(String[] args) {
        parseInt("123");//[1]
        parseInt("1abc23");//[2]
   }
   private static void parseInt(String string) {//[3]
       try {//[4]
           int value = Integer.parseInt(string);//[5]
           System.out.println("[6] string = " + value);
       } catch (NumberFormatException numberFormalException) {//[7]
           System.out.println("[8] NumberFormatException発生");
       }
   }
}

実行結果

[6] string = 123
[8] NumberFormatException発生

サンプルプログラムの説明

簡単にプログラムの解説をしてゆこう。

  • [1] 文字列「123」をparseIntメソッドで数値に変換する。
  • [2] 文字列「1abc23」をparseIntメソッドで数値に変換する。
  • [3] parseIntメソッドを定義する。
  • [4]-[5] parseIntメソッドを使って、変数stringの指す文字列をint型変数valueに変換する。
  • [6] valueを表示する。
  • [7]-[8] 例外が発生したら、「[8] NumberFormatException発生」を表示する。

まとめ

このページではJavaのIntegerクラスについてご紹介してきた。参考にしていただければ幸いだ。

]]>
https://eng-entrance.com/java-variable-integer/feed 0
【初心者向け】Javaの型変換のやり方(たくさんのサンプル付き) https://eng-entrance.com/java-var-change https://eng-entrance.com/java-var-change#comments Sat, 08 Apr 2017 04:01:13 +0000 http://eng-entrance.com/?p=5285 Javaプログラミングにおける型変換とは、データ型を別の型に変換することだ。

このページではJavaの型変換の方法について、サンプルプログラムをいくつかご用意し解説した。参考にしていただければ幸いだ。

Javaにおける型変換とは

Javaの型変換とは、データの型を別の型へ変換することである。例えばint型の値を持つ変数の型を、計算精度を上げるためにdouble型に変換して計算を行うということがある。int型のままで割り算を繰り返し行うと、小数点以下の値が失われていくこと起こる可能性があるからである。

精度を求められる計算をするためには、どのような場合に型変換するべきか、型変換がどのように数値に影響を与えるかをあらかじめ理解しておくことは重要である。

このような型変換には大きく分けて次のようは種類がある。

  • ワイドニング変換(Widening conversion)
  • ナローイング変換(Narrowing conversion)

では、それらをひとつひとつ見ていこう。

ワイドニング変換(大きな型に小さな型を代入)

プリミティブ型に対する19の変換は、ワイドニング・プリミティブ変換と呼ばれる。これは、大きな型(より大きな数値を扱える型)に、小さな型(より小さな数値しか扱えない型)を代入する変換である。この場合は、そのままの値が代入される。

19の変換とは具体的に以下の変換である。

変換の方向

short

int

long

float

double

byte 

short

 

char

 

int

 

 

long

 

 

 

float

 

 

 

 

変換による値の正確さ

ワイドニング・プリミティブ変換では、次の場合に数値が正確に変換される。

  • 整数型 → 他の整数型
  • byte、shortもしくはchar型 → 浮動小数点型
  • int型 → double型

逆に、数値が正確に変換されないのは次の場合である。これは、変換によって情報のある部分が失われるためである。

  • int型 → float型
  • long型 → float型
  • long型 → double型
  • float型→ double型

では、実際のプログラムで確認してみよう。

正確な値の型変換サンプルプログラム

このサンプルプログラムは、値を正確に代入することができる型変換を示している。

public class WideningPrimitiveConversion {
    public static void main(String[] args) {
        byte byteMaxValue = Byte.MAX_VALUE;//[1]
        short shortMaxValue = Short.MAX_VALUE;//[2]
        int intMaxValue = Integer.MAX_VALUE;//[3]

        short shortFromByteValue = byteMaxValue;//[4]
        System.out.println("[5] byte -> short = " + byteMaxValue + " -> " +shortFromByteValue);
        float floatFromShortValue = shortMaxValue;//[6]
        System.out.println("[7] short -> float = " + shortMaxValue + " -> " + floatFromShortValue);
        int intFromShortValue = shortMaxValue;//[8]
        System.out.println("[9] ahort -> int = " + shortMaxValue + " -> " + intFromShortValue);
        long longFromIntValue = intMaxValue;//[10]
        System.out.println("[11] int -> long = " + intMaxValue + " -> " + longFromIntValue);
        double doubleFromIntValue = intMaxValue;//[12]
        System.out.println("[13] doubleFromIntValue= " + intMaxValue + " -> " + doubleFromIntValue);
    }
}

実行結果

[5] byte -> short = 127 -> 127
[7] short -> float = 32767 -> 32767.0
[9] ahort -> int = 32767 -> 32767
[11] int -> long = 2147483647 -> 2147483647
[13] int -> double = 2147483647 -> 2.147483647E9

サンプルプログラムの説明

それでは簡単にプログラムの解説をしてゆこう。

  • [1] byte型の変数byteMaxValueの宣言をし、最大値MAX_VALUEを代入する。
  • [2] short型の変数shortMaxValueの宣言をし、最大値MAX_VALUEを代入する。
  • [3] int型の変数intMaxValueの宣言をし、最大値MAX_VALUEを代入する。
  • [4] short型の変数shortFromByteValueの宣言をし、byteMaxValueを代入する。
  • [5] [4]の代入による値の変化を表示する。
  • [6] float型の変数floatFromShortValueの宣言をし、shortMaxValueを代入する。
  • [7] [6]の代入による値の変化を表示する。
  • [8] int型の変数intFromShortValueの宣言をし、shortMaxValueを代入する。
  • [9] [8]の代入による値の変化を表示する。
  • [10] long型の変数longFromIntValueの宣言をし、intMaxValueを代入する。
  • [11] [10]の代入による値の変化を表示する。
  • [12] double型の変数doubleFromIntValueの宣言をし、intMaxValueを代入する。
  • [13] [12]の代入による値の変化を表示する。

正確に代入されない型変換サンプルプログラム

このサンプルプログラムは、値を正確に代入することができない型変換を示している。

public class WideningPrimitiveConversionOfLostInformation {
    public static void main(String[] args) {
        int intMaxValue = Integer.MAX_VALUE;//[1]
        long longMaxValue = Long.MAX_VALUE;//[2]
        float floatMaxValue = Float.MAX_VALUE;//[3]

        float floatFromIntMaxValue = intMaxValue;//[4]
        System.out.println("[5] int -> float = " + intMaxValue + " -> " + floatFromIntMaxValue);
        float floatFromLongMaxValue = longMaxValue;//[6]
        System.out.println("[7] long -> float = " + longMaxValue + " -> "  + floatFromLongMaxValue);
        double doubleFromLongMaxValue = longMaxValue;//[8]
        System.out.println("[9] long -> double = " + longMaxValue + " -> "  + doubleFromLongMaxValue);
        double doubleFromFloatMaxValue = floatMaxValue;//[10]
        System.out.println("[11] float -> double = " + floatMaxValue + " -> " + doubleFromFloatMaxValue);
    }
}

実行結果

[5] int -> float = 2147483647 -> 2.14748365E9
[7] long -> float = 9223372036854775807 -> 9.223372E18
[9] long -> double = 9223372036854775807 -> 9.223372036854776E18
[11] float -> double = 3.4028235E38 -> 3.4028234663852886E38

サンプルプログラムの説明

簡単にプログラムの解説をしてゆこう。

  • [1] int型の変数intMaxValueの宣言をし、最大値MAX_VALUEを代入する。
  • [2] long型の変数longMaxValueの宣言をし、最大値MAX_VALUEを代入する。
  • [3] float型の変数floatMaxValueの宣言をし、最大値MAX_VALUEを代入する。
  • [4] float型の変数floatFromIntMaxValueの宣言をし、intMaxValueを代入する。
  • [5] [4]の代入による値の変化を表示する。
  • [6] float型の変数floatFromLongMaxValueの宣言をし、longMaxValueを代入する。
  • [7] [6]の代入による値の変化を表示する。
  • [8] double型の変数doubleFromLongMaxValueの宣言をし、longMaxValueを代入する。
  • [9] [8]の代入による値の変化を表示する。
  • [10] double型の変数doubleFromFloatMaxValueの宣言をし、floatMaxValueを代入する。
  • [11] [10]の代入による値の変化を表示する。

ナローイング変換(小さな型に大きな型を代入)

プリミティブ型に対する22の変換は、ナローイング・プリミティブ変換と呼ばれる。これは、小さな型に大きな型を代入する変換である。そのまま代入できないので、キャスト演算子を使って変換する型を指定する。

書き方の基本は簡単だ。

新しい型の変数 = (新しい型)変数名;

例えばdouble型の変数の値をint型の変数bにキャストを使って変換すると、コードは次のようになる。

double a = 12.3;

int b = (int) a;

以下の表は、22のナローイング・プリミティブ変換を具体的に示したものである。

変換の方向

byte

short

char

int

long

float

short

 

 

 

 

char

 

 

 

 

int

 

 

 

long

 

 

float

 

double

ナローイング・プリミティブ変換は、数値全体の大きさ、精度、範囲についての情報を失う可能性がある。

では、どのように変換が行われるかをみてみよう。

符号付整数から整数型への変換

符号付整数の整数型へのナローイング変換は、変換後の型が持つn個のビット数分だけビットの値がコピーされる。このとき、コピーされるのは最下位からのビットの並びであり、他はみな捨てられる。数値の大きさについての情報を失う可能性に加えて、この変換結果の値は返還前の値の符号と異なるかもしれない。

サンプルプログラム

このサンプルプログラムは、int型からbyte型やshort型への変換によって上位のビットが失われることを示している。

public class NarrowingPrimitiveConversionIntegerToInteger {
    public static void main(String[] args) {
        int intValue = 0x12345678;//[1]

        byte byteValue = (byte)intValue;//[2]
        System.out.print("[3] int -> byte = 0x" + Integer.toHexString(intValue));
        System.out.println(" -> 0x" + Integer.toHexString(byteValue));
        short shortValue = (short)intValue;//[4]
        System.out.print("[5] int -> short = 0x" + Integer.toHexString(intValue));
        System.out.println(" -> 0x" + Integer.toHexString(shortValue));
    }
}

実行結果

[3] int -> byte = 0x12345678 -> 0x78
[5] int -> short = 0x12345678 -> 0x56787

サンプルプログラムの説明

それでは簡単にプログラムの解説をしていこう。

  • [1] int型の変数intValueの宣言をし、0x12345678を代入する。
  • [2] byte型の変数byteValueの宣言をし、intValueをbyte型でキャストして代入する。
  • [3] [2]の代入による値の変化を表示する。
  • [4] short型の変数shortValueの宣言をし、intValueをshort型でキャストして代入する。
  • [5] [4]の代入による値の変化を表示する。

char型から整数型への変換

char型から整数型へのナローイング変換も、前のセクションの「符号付整数」同様にビットがコピーされる。また、この変換は数値の大きさについての情報を失う可能性に加えて、たとえchar型が16bitの符号無し整数値を表すとしても、結果の値がマイナスの数値になるかもしれない。

サンプルプログラム

このサンプルプログラムは、「A」の文字コード0x0410と「イ」の文字コード0x30A4をchar型の変数に代入し、それをナローイング変換してbyte型変数に代入している。確かに、「イ」の場合はマイナス値となる。

public class NarrowingPrimitiveConversionCharToByte {
    public static void main(String[] args) {
        char charAValue = 0x0410;//[1]
        byte byteValue = (byte)charAValue;//[2]
        System.out.println("[3] char -> byte = " + charAValue + " -> " + byteValue);
        char charIValue = 0x30A4;//[4]
        byteValue = (byte)charIValue;//[5]
        System.out.println("[6] char -> byte = " + charIValue + " -> " + byteValue);
    }
}

実行結果

[3] char -> byte = А -> 16
[6] char -> byte = イ -> -92

double型からfloat型への変換

doubleからfloatへのナローイング・プリミティブ変換は、IEEE754丸め込みの規則に従っている。この変換によって値の精度だけでなく範囲も失われる。結果としてゼロでないdouble型からfloat型ゼロへ、さらにはdouble型無限大からfloat型無限大になる場合がある。double型NaNはfloat型NaNへ変換され、double型無限大は同じ符号付のfloat型無限大に変換される。

サンプルプログラム

このサンプルプログラムは、double型からfloat型への変換を示している。Double型のいくつかの特殊な値、NaNや.POSITIVE_INFINITY;やNEGATIVE_INFINITYも扱っている。

public class NarrowingPrimitiveConversionDoubleToFloat {
    public static void main(String[] args) {
        double doubleNearZeroValue = 1.2345E-58;//[1]
        double doubleNaNValue = Double.NaN;//[2]
        double doublePositiveInfinityValue = Double.POSITIVE_INFINITY;//[3]
        double doubleNegativeInfinityValue = Double.NEGATIVE_INFINITY;//[4]

        float floatValue = (float)doubleNearZeroValue;//[5]
        System.out.println("[6] NEAR ZERO -> float = " + doubleNearZeroValue + " -> " + floatValue);
        floatValue = (float)doubleNaNValue;//[7]
        System.out.println("[8] NaN -> float = " + doubleNaNValue + " -> " + floatValue);
        floatValue = (float)doublePositiveInfinityValue;//[9]
        System.out.println("[10] POSITIVE_INFINITY -> float = " + doublePositiveInfinityValue + " -> " + floatValue);
        floatValue = (float)doubleNegativeInfinityValue;//[11]
        System.out.println("[12] NEGATIVE_INFINITY -> float = " + doubleNegativeInfinityValue + " -> " + floatValue);
    }
}

実行結果

[6] NEAR ZERO -> float = 1.2345E-58 -> 0.0
[8] NaN -> float = NaN -> NaN
[10] POSITIVE_INFINITY -> float = Infinity -> Infinity
[12] NEGATIVE_INFINITY -> float = -Infinity -> -Infinity

浮動小数点型から整数型への変換

浮動小数点型から整数型Tへのナローイング変換には2つのステップがある。最初のステップでは、浮動小数点数がlongかintに変換される。

この時、浮動小数点数がNaNであるならば、int型もしくはlong型0になる。もしそうでなければ、浮動小数点数が無限大でないならば、整数値Vに丸められ、次の変換が行われる。

  • Tがlong型ならば、long型の値Vへの変換。
  • Tがbyte型か、short型か、char型か、int型であればint型の値Vへの変換。

もしそうでない場合、次のふたつのケースのいずれかの変換が行われる。

  • 値がとても小さい(大きなマイナス値もしくはマイナスの無限大)ならば、最初のステップの結果がint型もしくはlong型の表現可能な最小値になる。
  • 値がとても大きい(大きなプラス値もしくはプラスの無限大)ならば、最初のステップの結果がint型もしくはlong型の表現可能な最大値になる。

次のステップで、long型かint型の値が最終的に目的の整数型Tに変換される。

  • Tがint型もしくはlong型であるならば、変換の結果は最初のステップの結果となる。
  • Tがbyte型、char型、もしくはshort型であるならば、変換の結果は最初のステップの値からT型へのナローイング変換された結果と同じとなる。

サンプルプログラム

このサンプルプログラムは、浮動小数点型から整数型への変換を示している。double型のいくつかの特殊な値、ゼロに近い値や.非常に大きい値や非常に小さい値も扱っている。

public class NarrowingPrimitiveConversionFloatToInteger {
    public static void main(String[] args) {
        double doubleNearZero = 0.01;//[1]
        double double123456 = 123456.0;//[2]
        double doubleLargeValue = 1234567890123L;//[3]
        double doubleSmallValue = -1234567890123L;//[4]

        byte byteValue = (byte)doubleNearZero;//[5]
        System.out.println("[6] near zero -> byte = " + doubleNearZero + " -> " + byteValue);
        long longValue = (long)double123456;//[7]
        System.out.println("[8] 123456.0 -> long = " + double123456 + " -> " + longValue);
        short shortValue = (short)double123456;//[9]
        System.out.println("[10] 123456.0 -> short = " + double123456 + " -> " + shortValue);
        int intValue = (int) doubleLargeValue;//[11]
        System.out.println("[12] large -> int = " + doubleLargeValue + " -> " + intValue);
        intValue = (int) doubleSmallValue;//[13]
        System.out.println("[14] small -> int = " + doubleSmallValue + " -> " + intValue);
    }
}

実行結果

[6] near zero -> byte = 0.01 -> 0
[8] 123456.0 -> long = 123456.0 -> 123456
[10] 123456.0 -> short = 123456.0 -> -7616
[12] large -> int = 1.234567890123E12 -> 2147483647
[14] small -> int = -1.234567890123E12 -> -2147483648

まとめ

このページではJavaの型変換についてまとめてお伝えした。実際にサンプルプログラムを手元で動かしてみるとわかりやすいだろう。

参考にしていただければ幸いだ。

]]>
https://eng-entrance.com/java-var-change/feed 2
【特殊な文字を入力する方法】Javaでのエスケープシーケンス https://eng-entrance.com/java-variable-escape https://eng-entrance.com/java-variable-escape#comments Wed, 15 Mar 2017 01:14:11 +0000 http://eng-entrance.com/?p=5054 プログラミングと相性が悪い文字列というのが存在する。例えば、文字列として「"」を出力したいときなど少々困るはずだ。

このページでは特殊な文字を入力する方法をまとめている。

特殊な文字列を入力するJavaのエスケープシーケンス

Javaの文字と文字列のエスケープシーケンスは、プログラムで予約されている文字、改行やタブなど表示されない文字など表現する。

例えば、文字列リテラルを記述する際には囲み文字として「"」(ダブルコーテーション)を用いる必要がある。もし、ダブルコーテーションで囲まれた文字列の中に「"」を置きたい場合には、どのように記述すればよいのか。そのまま書けばエラーになる。文字列が途中で終わったことになるからだ。

string = “ABC ” DEF”;     ←エラーになる。

この場合エスケープシーケンスを使うことができる。

string = “ABC \” DEF”;    ←「"」の文字が正しく挿入される。

文字と文字列のためのエスケープシーケンス

以下にエスケープシーケンスによって表される文字を示す。

文字

内容

エスケープシーケンス

TAB

タブ文字

\t

BS

バックスペース

\b

LF

ラインフィールド(改行)

\n

FF

フォームフィード

\f

CR

キャリッジリターン(復帰)

\r

"

ダブルコーテーション

\"

'

シングルコーテーション

\'

\

エン

\\

文字

16進数文字コードによる文字

\u(16進数文字コード)

エスケープシーケンスのサンプルプログラム

このサンプルプログラムは、エスケープシーケンスをコンソールに表示する。この時、文字列リテラルを用いて変数列に文字を代入する。

public class PrintEscapeSequence {
    public static void main(String[] args) {
        String SingleQuotation = "ABC \' DEF";//[1]
        String DoubleQuotation = "ABC \" DEF";//[2]
        String yen = "ABC \\ DEF";//[3]
        String linefeed = "ABC \n DEF";//[4]
        System.out.println("[5] SingleQuotation = " + SingleQuotation);
        System.out.println("[6] DoubleQuotation = " + DoubleQuotation);
        System.out.println("[7] yen = " + yen);
        System.out.println("[8] linefeed = " + linefeed);
    }
}

実行結果

[5] SingleQuotation = ABC ' DEF
[6] DoubleQuotation = ABC " DEF
[7] yen = ABC \ DEF
[8] linefeed = ABC
 DEF

サンプルプログラムの説明

それでは簡単にプログラムの解説をしてゆこう。

  • [1] Stringクラスの参照変数SingleQuotationの宣言をし、「ABC \' DEF」を代入する。
  • [2] Stringクラスの参照変数DoubleQuotationの宣言をし、「ABC \" DEF」を代入する。
  • [3] Stringクラスの参照変数yenの宣言をし、「ABC \\ DEF」を代入する。
  • [4] Stringクラスの参照変数linefeedの宣言をし、「ABC \n DEF」を代入する。
  • [5] SingleQuotationの値を表示する。
  • [6] DoubleQuotationの値を表示する。
  • [7] yenの値を表示する。
  • [8] linefeedの値を表示する。

まとめ

 このページでは特殊な文字列の出力をお伝えした。使い方を押さえておこう。

]]>
https://eng-entrance.com/java-variable-escape/feed 1
【超初心者向け】Javaでの数値の扱い方 https://eng-entrance.com/java-variable-num https://eng-entrance.com/java-variable-num#respond Mon, 13 Mar 2017 23:23:06 +0000 http://eng-entrance.com/?p=5050 このページでは初心者の方向けにJavaでの数値データの扱いについてまとめてご紹介した。

参考にしていただければと思う。

Javaでの数値の扱い

Javaに限らずプログラミング言語は画面に入力されたり表示されたりする数値データやネットを介して報告されてくる様々な数値を扱うことができる。

もともと数値計算の用途がコンピュータの起源だ。プログラミング言語は数値を処理するのが得意分野になっている。

これらの数値データを変数に保存するだけでなく、指定した数値をプログラムで扱うことができるよう数値のための書き方が準備されている。

まず、その書き方を見てみよう。

リテラルと言うのは、データの表記の仕方、つまり書き方のことである。Javaでは、数値の書き方がたくさんある。

整数リテラル

整数リテラルは、整数の数値を扱うためのリテラルである。以下の種類がある。

  • 10進数リテラル
  • 16進数リテラル
  • 8進数リテラル
  • 2進数リテラル

10進数リテラル:先頭がゼロでない数値で始まり、続く数値は0から9までの数値の組み合わせになる。

1-9までの数値 [0-9までの数値]

16進数リテラル:先頭が「0x」で始まり、続く数値が「0 1 2 3 4 5 6 7 8 9」と「A B C D E F」(小文字も含む)の16文字の数値の組み合わせになる。

0x [0-9 a-f A-F]

8進数リテラル:先頭が「0」で始まり、続く数値が「0 1 2 3 4 5 6 7」の組み合わせになる。

0 [0-7]

2進数リテラル:先頭が「0B」または「0b」で始まり、続く数値が「0 1」の組み合わせになる。

0B [0-1] または 0b [0-1]

long型の整数リテラル:最後が「L」または「l」で終わる。一方、最後の文字がそうでなければ、int型になる。

1-9までの数値 [0-9までの数値]L

サンプルプログラム

このサンプルプログラムは、整数リテラルの書き方、10進数リテラル、16進数リテラル、8進数リテラル、        2進数リテラルを使って数値を記述して、その値を表示する。

public class PrintInteger {
    public static void main(String[] args) {
        int integerValue = 123;//[1]
        int hexIntegerValue = 0x12cd;//[2]
        int octalIntegerValue = 01234;//[3]
        int binaryIntegerValue = 0b1111_0101_0000_1111;//[4]
        long longValue = 123456789L;//[5]
        System.out.println("[6] integerValue = " + integerValue);
        System.out.println("[7] hexIntegerValue = " + hexIntegerValue);
        System.out.println("[8] octalIntegerValue = " + octalIntegerValue);
        System.out.println("[9] binaryIntegerValue = " + binaryIntegerValue);
        System.out.println("[10] longValue = " + longValue);
    }
}

実行結果

[6] integerValue = 123
[7] hexIntegerValue = 4813
[8] octalIntegerValue = 668
[9] binaryIntegerValue = 62735
[10] longValue = 123456789サンプルプログラムの説明

それでは簡単にプログラムの解説をしてゆこう。

  • [1] int型変数integerValueの宣言をし、123を代入する。
  • [2] int型変数hexIntegerValueの宣言をし、0x12cdを代入する。
  • [3] int型変数octalIntegerValueの宣言をし、01234を代入する。
  • [4] int型変数binaryIntegerValueの宣言をし、0b1111_0101_0000_1111を代入する。
  • [5] long型変数longValueの宣言をし、123456789L;を代入する。
  • [6] integerValueの値を表示する。
  • [7] hexIntegerValueの値を表示する。
  • [8] octalIntegerValueの値を表示する。
  • [9] binaryIntegerValueの値を表示する。
  • [10] longValueの値を表示する。

浮動小数点リテラル

整数の数値を扱うためのリテラルである。以下の種類がある。

  • 10進数浮動小数点リテラル
  • 2進数浮動小数点リテラル

float型の10進数浮動小数点リテラル:最後が「F」または「f」で終わる。以下にその例を示す。

1e1f    2.f    .3f    0f    3.14f    5.012345e+23f

double型の10進数浮動小数点リテラル:最後に何も付けないか、「d」または「D」をつけることができる。以下にその例を示す。

1e1    2.    .3    0.0    3.14    4e-9d    5e137

サンプルプログラム

このサンプルプログラムは、上に例として示した浮動小数点の値をコンソールに表示する。この時、浮動小数点リテラルを用いて変数に数値を代入する。

public class PrintFloatingPoint {
    public static void main(String[] args) {
        float floatValue1 = 1e1f;//[1]
        float floatValue2 = 2.f;//[2]
        float floatValue3 = .3f;//[3]
        float floatValue4 = 0f;//[4]
        float floatValue5 = 5.012345e+23f;//[5]
        double doubleValue1 = 1e1;//[6]
        double doubleValue2 = 2.;//[7]
        double doubleValue3 = .3;//[8]
        double doubleValue4 = 0.0;//[9]
        double doubleValue5 = 3.14;//[10]
        double doubleValue6 = 4e9d;//[11]
        double doubleValue7 = 5e137d;//[12]
        System.out.println("[13] integerValue1 = " + floatValue1);
        System.out.println("[14] integerValue2 = " + floatValue2);
        System.out.println("[15] integerValue3 = " + floatValue3);
        System.out.println("[16] integerValue4 = " + floatValue4);
        System.out.println("[17] integerValue5 = " + floatValue5);
        System.out.println("[18] doubleValue1 = " + doubleValue1);
        System.out.println("[19] doubleValue2 = " + doubleValue2);
        System.out.println("[20] doubleValue3 = " + doubleValue3);
        System.out.println("[21] doubleValue4 = " + doubleValue4);
        System.out.println("[22] doubleValue5 = " + doubleValue5);
        System.out.println("[23] doubleValue6 = " + doubleValue6);
        System.out.println("[24] doubleValue7 = " + doubleValue7);
    }
}

実行結果

[13] integerValue1 = 10.0
[14] integerValue2 = 2.0
[15] integerValue3 = 0.3
[16] integerValue4 = 0.0
[17] integerValue5 = 5.012345E23
[18] doubleValue1 = 10.0
[19] doubleValue2 = 2.0
[20] doubleValue3 = 0.3
[21] doubleValue4 = 0.0
[22] doubleValue5 = 3.14
[23] doubleValue6 = 4.0E9
[24] doubleValue7 = 5.0E137

サンプルプログラムの説明

それでは簡単にプログラムの解説をしてゆこう。まぁ、見ての通りだ。

  • [1] float変数floatValue1の宣言をし、1e1f;を代入する。
  • [2] float変数floatValue2の宣言をし、.3f;を代入する。
  • [3] float変数floatValue3の宣言をし、0f;を代入する。
  • [4] float変数floatValue4の宣言をし、f;を代入する。
  • [5] float変数floatValue5の宣言をし、012345e+23f;を代入する。
  • [6] double変数doubleValue1の宣言をし、1e1;を代入する。
  • [7] double変数doubleValue2の宣言をし、;を代入する。
  • [8] double変数doubleValue3の宣言をし、.3;を代入する。
  • [9] double変数doubleValue4の宣言をし、0;を代入する。
  • [10] double変数doubleValue5の宣言をし、14;を代入する。
  • [11] double変数doubleValue6の宣言をし、4e9d;を代入する。
  • [12] double変数doubleValue7の宣言をし、5e137d;を代入する。

論理リテラル

少々ずれるが、論理リテラルというものもある。論理リテラルは論理値を扱うためのリテラルである。

以下のふたつの値しかない。

  • true – 真を表す
  • false – 偽を表す

もし「20歳以上なら飲酒可能」などというプログラミングがあったとき、「20歳かどうか」を判定するときなどに論理リテラルを使うことになる。

ここではtrueとfalseなるものがあるんだな、くらいに思っておけばいいだろう。if文を学んだときに理解するのが手っ取り早い。

サンプルプログラム

このサンプルプログラムは、上に示した論理値をコンソールに表示する。この時、論理リテラルを用いて変数に数値を代入する。

public class PrintBoolean {
    public static void main(String[] args) {
        boolean booleanValueTrue = true;//[1]
        boolean booleanValueFalse = false;//[2]
        System.out.println("[3] booleanValueTrue = " + booleanValueTrue);
        System.out.println("[4] booleanValueFalse = " + booleanValueFalse);
    }
}

実行結果

[3] booleanValueTrue = true
[4] booleanValueFalse = false

サンプルプログラムの説明

それでは簡単にプログラムの解説をしてゆこう。

  • [1] boolean型の変数booleanValueTrueの宣言をし、trueを代入する。
  • [2] boolean型の変数booleanValueFalseの宣言をし、falseを代入する。
  • [3] booleanValueTrueの値を表示する。
  • [4] booleanValueFalseの値を表示する。

実際の数値の計算は?

下記ページで詳しく説明している。

まとめ

このページではJavaの数値データの扱いについてご紹介した。参考にしていただければ幸いだ。

]]>
https://eng-entrance.com/java-variable-num/feed 0
【初心者向けに解説】Javaの文字列の使い方 https://eng-entrance.com/java-variable-string https://eng-entrance.com/java-variable-string#respond Mon, 13 Mar 2017 01:39:27 +0000 http://eng-entrance.com/?p=5047 Javaに限らずだが、プログラムでは文字列を使う場面が多量にある。

このページではJavaでの文字列の扱い方をご紹介した。

Javaの文字列

Javaは画面に表示したり、メールに含まれたりする文字データを扱うことができる。これらの文字データを変数に保存するだけでなく、指定した文字をプログラムで扱うことができるよう文字と文字列という書き方が準備されている。

まず、その書き方を見てみよう。

リテラル

リテラルと言うのは、データの表記の仕方、つまり書き方のことである。Javaでは、ひとつの文字(character)と、いくつかの文字が集まった文字列(String)の書き方を分けている。

文字リテラルを使った文字の書き方の基本は簡単だ。一文字を「'」(シングルコーテーション)で囲む。

'一文字'

文字列リテラルを使った文字の書き方の基本も簡単だ。文字の並びを「"」(ダブルルコーテーション)で囲む。

"文字の並び"

文字コードによる書き方

Javaは、文字をUTF-16と呼ばれる文字コードによって扱っている。プログラマは文字そのものを書いたほうが分かりやすいが、文字コードで直接書くこともできる。

文字リテラルの書き方はこうだ。「\u」に続いてUTF-16の文字コードを書く。それを、「'」で囲む。

'\uUTF-16文字コード'

文字列リテラルの書き方はこうだ。「\u」に続いてUTF-16の文字コードを書く。これを文字数分繰り返す。それを、「"」で囲む。

"\uUTF-16文字コード \uUTF-16文字コード ・・・"

文字リテラルのサンプルプログラム

このサンプルプログラムは、ひとつの文字をコンソールに表示する。この時、文字リテラルを用いて変数に文字を代入する。

class PrintCharacter {
    public static void main(String[] args) {
        char literalACharacter = 'A';//[1]
        char literalAUtf16Code = '\u0041';//[2]
        char literalAACharacter = 'あ';//[3]
        char literalAAUtf16Code = '\u3042';//[4]
        System.out.println("[5] 半角英数字 = " + literalACharacter);
        System.out.println("[6] 半角英数字(文字コード) = " + literalAUtf16Code);
        System.out.println("[7] 全角文字 = " + literalAACharacter);
        System.out.println("[8] 全角文字(文字コード) = " + literalAAUtf16Code);
    }
}

実行結果

[5] 半角英数字 = A
[6] 半角英数字(文字コード) = A
[7] 全角文字 = あ
[8] 全角文字(文字コード) = あ

サンプルプログラムの説明

それでは簡単にプログラムの解説をしてゆこう。

  • [1] char型変数literalACharacterの宣言をし、「A」を代入する。
  • [2] char型変数literalAUtf16Codeの宣言をし、「\u0041」を代入する。
  • [3] char型変数literalAACharacterの宣言をし、「あ」を代入する。
  • [4] char型変数literalAAUtf16Codeの宣言をし、「\u3042」を代入する。
  • [5] literalACharacterを表示する。
  • [6] literalAUtf16Codeを表示する。
  • [7] literalAACharacterを表示する。
  • [8] literalAAUtf16Codeを表示する。

文字列リテラルのサンプルプログラム

このサンプルプログラムは、文字列をコンソールに表示する。この時、文字列リテラルを用いて変数に文字を代入する。

public class PrintString {
    public static void main(String[] args) {
        String literalABCString = "ABC";//[1]
        String literalABCUtf16Code = "\u0041\u0042\u0043";//[2]
        String literalAIUString = "あいう";//[3]
        String literalAIUUtf16Code = "\u3042\u3044\u3046";//[4]
        System.out.println("[5] 半角英数文字列 = " + literalABCString);
        System.out.println("[6] 半角英数文字列(文字コード) = " + literalABCUtf16Code);
        System.out.println("[7] 全角文字列 = " + literalAIUString);
        System.out.println("[8] 全角文字列(文字コード) = " + literalAIUUtf16Code);

        String concatenatedString = literalABCString + literalAIUString;//[9]
        System.out.println("[10] 文字列の結合 = " + concatenatedString);
    }
}

実行結果

[5] 半角英数文字列 = ABC
[6] 半角英数文字列(文字コード) = ABC
[7] 全角文字列 = あいう
[8] 全角文字列(文字コード) = あいう
[10] 文字列の結合 = ABCあいう

サンプルプログラムの説明

それでは簡単にプログラムの解説をしてゆこう。

  • [1] Stringクラスの参照変数literalABCStringの宣言をし、「ABC」を代入する。
  • [2] Stringクラスの参照変数literalABCUtf16Codeの宣言をし、「\u0041\u0042\u0043」を代入する。
  • [3] Stringクラスの参照変数literalAIUStringの宣言をし、「あいう」を代入する。
  • [4] Stringクラスの参照変数literalAIUUtf16Codeの宣言をし、「\u3042\u3044\u3046」を代入する。
  • [5] literalABCStringを表示する。
  • [6] literalABCUtf16Codeを表示する。
  • [7] literalAIUStringを表示する。
  • [8] literalAIUUtf16Codeを表示する。
  • [9] literalABCStringとliteralAIUStringをconcatenatedStringに結合する。
  • [10] 文字列結合の結果concatenatedStringを表示する。

もっと詳しく

下記で文字列についてより詳しい説明をしている。こちらもご参考に。

まとめ

このページではJavaの文字列についてお伝えしてきた。参考にしていただければと思う。

]]>
https://eng-entrance.com/java-variable-string/feed 0
【基本の基本】Javaのデータ型とは?と簡単な使い方まとめ https://eng-entrance.com/java-vaiable-datatype https://eng-entrance.com/java-vaiable-datatype#comments Sun, 12 Mar 2017 02:48:26 +0000 http://eng-entrance.com/?p=5041 多くのプログラミング言語では、変数を宣言するときに「データ型」を定義する必要がある。Javaもそうだ。

ざっくり言うと、変数に入るデータがどういったものか?を先に決めておく必要があるという意味になる。

このページではJavaのデータ型についてお伝えしよう。

Javaのデータ型

下記ページでお伝えしたように、Javaで変数を使うときには宣言というものが必要だった。

その際に次のように宣言をした。

データ型名 識別子;

int age;

この時のintがデータ型だ。

データ型とは、データの種類のことである。例えば、データには数で表される年齢のような数字で表される情報もあれば、文字で表される名前やメッセージのようなものもある。年齢のように範囲が小さいものもあれば、国家予算のように大きな数字もある。

Javaプログラミングでこうしたデータを扱うために、その種類に応じてデータ型が決まっている。その種類は、大きく分けてふたつある。プリミティブ型と参照型だ。

さらに、その中にいくつかの枝分かれがある。型がいくつかあるということは、それを使って宣言した変数に保存されるデータの種類がそれだけあるということになる。

どんな型がどんなデータを表すのか見てみよう。

プリミティブ型(Primitive Type)

プリミティブ型というのは、Javaプログラミング言語によってあらかじめ定義された型だ。予約されたキーワードによってデータ型ごとに型の名前が付けられている。

では、あらかじめ型名を付けられたプリミティブ型を、その中の整数型、浮動小数点型、論理型の順に見てみよう。

整数型(Integral Type)

整数型は、整数の値を表現している。言うまでもないが小数点の値は含まれない。

例えば、1から10の範囲の整数といえば、「1,2,3,4,5,6,7,8,9,10」の10個の値になる。1.5や2.3は含まれない。整数型の種類には、byte、char、short、int、longがある。それぞれの型とその型に含まれる値の範囲は、次のようになっている。

データ型

範囲

byte

-128から127までの整数の値。

char

'\u0000' から'\uffff'までの整数の値。(これは、0から65535である)

short

-32768から32767の整数の値

int

-2147483648 から2147483647まで整数の値。

long

-9223372036854775808から9223372036854775807までの整数の値。

浮動小数点型(Floating-Point Type)

浮動小数点型は、浮動小数点の値を表している。

例えば、1から10の範囲でいえば、「1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0」の10個の値以外に1.5や2.3などの小数点以下の値を含む数値が含まれる。浮動小数点型の種類には、float、doubleがある。それぞれの型とその型に含まれる値の範囲は、次のようになっている。

データ型

説明

float

32ビット単精度小数点

double

64ビット倍精度小数点

論理型(boolean Type)

論理型は、真(true)と偽(false)の表記によって示されるふたつの値を持つ論理値を表現する。

データ型

説明

boolean

真(true)か偽(false)のどちらかの値。

参照型(Reference Type)

参照型には、クラス型、インターフェイス型、型変数、配列型がある。

クラス型とインターフェイス型のデータは、オブジェクトへのポインタであり、配列型のデータは、配列オブジェクトへのポインタである。ポインタというのは、データのある場所を示す情報である。

例えば家がデータならは、そのポインタは住所である。住所が分かれば、家を見つけることは簡単である。

基本型と何が違うかと言うと、基本型はデータそのものを表しているが、参照型はデータのある場所を参照するためのデータであるということだ。

まずは文字列の使い方を覚えるのがわかりやすいだろう。次のページを参考にしていただければと思う。

データ型の使い分け

データ型によって、扱えるデータの範囲が異なる。

扱えるデータの範囲が大きければそれだけメモリを使ことになる。例えば、shortはbyteの2倍のメモリを使う。さらに、intはその2倍、longはさらに2倍である。

メモリが大きさを気にする必要もないほどふんだんにあれば、データ型もそれほど気にする必要はない。しかし、膨大なデータを扱うとか、メモリが限られているとなるとデータの型を気にする必要がある。

メモリが限られていれば、より小さなメモリで済むデータ型を選ぶ必要があるということだ。特に勉強しはじめの頃は適切なデータ型を選ぶようにしたほうがいいだろう。

また、精度という点では小数点を使う必要があれば、整数型ではなく精度に応じてfloatかdoubleの浮動小数点型を選ぶ必要がある。

まとめ

このページではJavaのデータ型についてお伝えをした。簡単なものから使いつつ覚えてしまい、すべて使えるようになっておこう。

]]>
https://eng-entrance.com/java-vaiable-datatype/feed 4
【変数とは?】Java変数の宣言と代入方法を簡単に解説 https://eng-entrance.com/java-variable-basic https://eng-entrance.com/java-variable-basic#comments Fri, 10 Mar 2017 01:03:26 +0000 http://eng-entrance.com/?p=5031 変数とは、名前を付けて一時的にデータを保存しておくためのものだ。変数に保存したデータは、読み出すことも書き換えることもできる。

Javaに限らずプログラミングでは、いろいろなところで常に変数を使うことになる。例えば、計算するために必要なデータを入れておく変数もあれば、計算した結果を入れるために使われる変数もある。

変数とは?

「変数は情報を入れておく器のようなもの」だ。例えば、年齢という器に24という数字を入れておく。

age

このようなイメージだ。

例えば、5年後の年齢を出力するプログラムがあったとすると次のように変数を使っていく。

age = 24; (現在の年齢を器に入れる)

age = age + 5;(5年後の年齢に上書きする)

例えばこんな形だ。徐々にイメージを掴んで行こう。

Javaの変数宣言

Javaのプログラムの中で変数を使うためには、まずはじめに「変数の宣言」というものを行わなければならない。

プログラムの中で、変数を使うためには名前が付けられていなければならない。この変数の名前のことを識別子と読んでいる。また、変数には扱うデータの種類によって型が決まっている。この型を指定しなければならない。

書き方の基本は簡単だ。

型名 識別子;

実際のコードを見てみよう。年齢のデータを変数として扱う場合、次のように宣言する。

int age;

「変数は情報を入れておく器のようなもの」だとよく言われる。この図が示すように宣言することによって変数名ageという情報の入れ物が準備される。

javaの変数

「int」が型で、詳しくは「Javaのデータ型」で説明しているので、その記事を参照できる。その後の半角スペースに続く「age」が識別子である。識別子は変数に入れる情報の意味をよく考えて、その意味を表す単語を使って表現することが望ましい。

変数に値を代入する

宣言した変数に何らかの値を入れることを「代入」という。Javaの場合は以下のように記号「=」(イコール)を使用して、左側に宣言した識別子で表される変数名を、右側に式を記述する。尚、変数と「=」の間のスペースはあっても無くてもどちらでも問題ない。

変数名(識別子) = 式;

実際のコードはつぎのようになる。

age = 24;

これは、ageという変数に、24という値を代入することを意味している。つまり、変数ageという入れ物に24を入れることになる。

insert

 

sameAge = age;

これは、sameAgeという変数に、ageという変数に入っている値と同じものを代入することを意味している。

same time

宣言と代入をまとめて書くこともできる。こうして、宣言した変数に初期値を代入することができる。

書き方は簡単だ。

型名 識別子 = 式;

実際のコードはこのようになる。

int age = 24;

まとめ

このページでは変数とは、というベーシックな説明と宣言や使い方についてお伝えした。

Javaに限らずプログラミングをしていくために欠かせない概念だ。必ず理解をしておこう。

]]>
https://eng-entrance.com/java-variable-basic/feed 2