2017-02-17 7 views
-1

私はちょうど入力した数字を印刷するために、特定の変数を割り当てる必要があります。スキャナを使用しています。例えば、私はここで、それがコードjavaでは、system.out.print(x + "+" + x + "=")のplus演算子とxの関数は何ですか?

 Scanner in=new Scanner(System.in); 
     System.out.println("Enter value of x"); 
     int x=in.nextInt(); 
     **System.out.print(x + "+" + x + "=");** 
     System.out.println(x+x); 

であり、これは(のx +「+」に2つの加算記号を入れなければならない理由私は思っ出力

enter image description here

で、番号12を入力します+ x + "=")?

+1

あなたが何を求めているのか分かりません。なぜ入力変数を変数に代入しなければならないのですか? –

+0

これは表示された出力を取得する方法の1つです。 'System.out.printf("%d +%d =%d%n "、x、x、x + x);は別のものです。あなたは 'print'文もたくさん持つことができます。 –

+1

追加記号は文字列を連結するために使用されます –

答えて

0

+の記号は「オーバーロード」されています。つまり、複数の意味があります。数値に適用される算術コンテキストでは、期待通りに「プラス」を意味します。ただし、Stringコンテキスト(つまり、2つのStringに適用される場合)では、「連結」または「string together」を意味します。

以下の説明では、数値の文字列表現から数値(さまざまな方法で算術演算を行い、表現できる量)を区別することが重要です。

第2の式System.out.println(x+x);では、引数(xx)の両方が整数なので、プラス記号は加算を意味します。したがって、x+xは整数24と評価されます。これを標準出力に出力するので、文字列として理解しなければならないので、Javaは数字24を文字列"24"に変換し、それが表示されます。 Javaは、整数を文字列に追加する方法を知らないので、あなたの最初の式x + "+" + x + "="用語の全てにおいて

は、文字列として理解されているので、それはあなたが数(12)の文字列表現("12")を意味想定しています。したがって、plus演算子は、「これらをまとめて文字列」を意味すると解釈され、xという2つのインスタンスを評価し、12を取得し、12の文字列を"12"に変換し、文字列「12 + 12 =印刷されます。 (最後の "24"はすでに上で述べた通りです)

+0

明白なことを述べると、これはこの質問の非常に単純化された扱いです - それは正確ですが、Javaとプログラミングについてもっと学ぶにつれて、この理解に洗練されていることがわかります。私はあなたがそこに行くのを楽しみにしています! –

+0

aww私は今それほど感謝します! :) – husnatasnim

+0

私はちょうど今日のJavaを学びました。私の友人はその人に(x + "+" + x + "=")bcを書いてくれました。彼女はVBクラスからアイデアを得ました。再度、感謝します!! @ジョンキパルスキー – husnatasnim

関連する問題