aka55
@aka55 (岡田 彰太朗)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Javaの基礎的な部分について分からないことがあるので教えてください。

Q&A

解決したいこと

とある企業の面接で出された問題なのですが、6行目の二重で「""」が記載されていたのですが、後で振り返ってみたときに
" + i + "の部分が理解できません。出力結果としては以下のようになるのですが、+はなぜ出力されないのでしょうか?
あとは二重で「""」をする意味はありますか?

(1,3)
(1,2)

(2,3)
(2,1)

(3,2)
(3,1)

出された問題のコード)

public class keke {
	public static void main(String[] args) {
		for(int i = 1; i <= 3; i++) {
			for(int j = 3; j >= 1; j--) {
				if(i != j) {
					System.out.println("(" + i + "," + j + ")");
				}
			}
			System.out.println();
		}
	}
}
0

2Answer

まぁ最初はこの辺躓きますよね…
まずはprintlnの中身を

(i + j)

にしてみてください。
すると出力結果はiとjの足し算された値が6つ出力されるかと思います。
+は出力されませんね…
つまり + という記号は数字と数字の間に挟まると演算子となります。
今度は

(i + "円")

としてみましょう。
すると出力は1円、2円、3円が出力されるかと思います。
つまり数字と文字の間に挟まると、異なるデータ型(文字と数字)をつなげるという作用をします。
これも+は出力されませんね…

最後は

(i + "+" + j)

としてみましょう
すると出力は i+j という出力になるかと思います。
この場合は "" でくくった+だけが文字列として出てきています。
""でくくると文字として認識されます。

すると

"(" + i + "," + j + ")"

は、
文字として(
文字と数字の間の+
数字としてのi
数字と文字の間の+
文字列としての,
文字と数字の間の+
数字としてのj
数字と文字の間の+
文字としての)
となりますので、そんな感じの出力になりますね

2Like

どの辺を指して二重と言っているのかよくわかりませんが,+がどのような働きをしているかについて,まずはこの記事のご一読を.

1Like

Comments

  1. 間違った理解 『( + i + 「,」 + j + )』
    正しい理解  「(」 + i + 「,」 + j + 「)」

  2. @aka55

    Questioner

    理解できました!ありがとうございます!

Your answer might help someone💌