質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

2回答

1077閲覧

演算子における ( (a + b ) +" ")のダブルクォーテーションについて

rebell

総合スコア19

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

1クリップ

投稿2018/08/31 03:04

java bronzeの学習をしております。

問題集に以下のようなものがありました。

**System.out.print((3 + 6 * 8 / 2) + “ “); //27

System.out.print(++a * b++ + “ “); // 4 * 5 = 20**

この問題の + " "の箇所なのですが、数値を文字列にしていると認識しているのですが、

どうなのでしょうか?

解説には特に記載されていなかったため質問させて頂きました。

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

数値を文字列にしていると認識している

その認識でよいと思います。
実際には、System.out.printを利用しているので、改行つかないから
スペースで区切ることが本当の理由なのかもしれません。

追記
System.out(PrintStream)のprint は、print(int)や、
print(String)、print(char)などが多重定義(オーバーロード)されています。
質問者さんの最初の質問だけ見ると、
print(int)をprint(String)を呼ぶように変換している?
という内容の確認をされています。

数値と文字列を連結して文字列を作成するという、変換方法として認識はあっていると回答しています。
※よく見かける方法は空文字("")を追加するというやつです。

そのうえで、なんでこんな変換をかましているのか?という観点で、

改行つかないからスペースで区切ることが本当の理由なのかも

と、回答しています。

投稿2018/08/31 03:16

編集2018/08/31 06:04
momon-ga

総合スコア4820

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/08/31 03:32

+ " " は数値ではないと思うのですが....
rebell

2018/08/31 04:03

printlnではなく、printだということに気づくことが出来なかったので、 スペースで区切るという考えい至りませんでした。 ありがとうございました。
yukihisa

2018/08/31 04:56 編集

横から失礼。 Stars1024 様 数値+文字列と記述すると数値を文字列に暗黙的に変換してくれる、ということです。 + " " が数値というわけではなく、+ " " をつけることで前の数値を明示的に変換することなく文字列として扱っているのです。
guest

0

この問題の + " "の箇所なのですが、数値を文字列にしていると認識しているのですが、

どうなのでしょうか?

まず、" "は数値ではなくもともとから文字列です。
" "によって空白が1つ生成されます。これとその前にある(3 + 6 * 8 / 2)+することで連結されます.

投稿2018/08/31 03:31

編集2018/08/31 03:33
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rebell

2018/08/31 04:05

質問の書き方に問題がありすいませんでした。 (3 + 6 * 8 / 2)この数値にダブルクォーテーションを+することで、文字列として出力をしたいのかどうなのかということを記載すべきでした。 回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問