電子書籍の厳選無料作品が豊富!

javaの演算子の部分ですが
4行目のlong l=5+2L;
の部分が実行すると7が出力されますが何故でしょうか。

*プログラミング学習を始めたばかりで初歩的なことかと思いますが解答いただけると幸いです。

「javaの演算子の部分ですが 4行目のl」の質問画像

A 回答 (3件)

5 足す 2 の値が 7 だからです。


型の話としては、 long型の 2L と + する際に
int型 の 5 が long型 の 5L へ変換されて
5L + 2L の値が 7L になる
ってことがその写真の解説に書いてあるのですが、
l を println したときに 7 と表示される理由は
それとは別で、 + が足し算の意味だからですよね。
    • good
    • 1
この回答へのお礼

ご解答ありがとうございます^ ^
l=5+2Lの
リテラル2がlong型の表記で2Lになっていて
リテラル5(int型)がlong型に変換されて5Lになって2L+5Lになる。
演算子が+でリテラル同士の足し算になるから7という出力が出るという認識で間違いなさそうですか。
度々で申し訳ございません…

お礼日時:2021/02/27 09:39

5+2=7 ですからね。

    • good
    • 1

異なる型で演算を行った場合は大きな型に統一されてから演算されます

    • good
    • 1
この回答へのお礼

ご解答ありがとうございます^ ^
l=5+2Lの2Lはリテラル2のlong型の表記で
リテラル5(int型)はlong型に変換され5Lになり
5L+2L=7L
演算子が+であり数値どうしの計算になり5+2で7になるという認識でよろしいですか?
度々の質問で申し訳ございません…

お礼日時:2021/02/27 09:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!