• ベストアンサー

Java print()とprintf()について

askaaskaの回答

  • ベストアンサー
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

ソースコードの簡略化のためです printとprintlnは従来からのメソッドで これを使うと次のような実装になります PrintStream out = System.out; out.println("a"); out.println("b"); out.println("c"); そしてJava5から下記のメソッドが追加されました append、format、printf これを使うと前述は次のように実装されます PrintStream out = System.out; out.append("a")   .append("b")   .append("c"); それだけのことと言えばたったそれだけのことなのですが これによってStreamへの書き込みが StringBuilderやStringBufferと同じインターフェースで行えるようになりました その上outを記述する回数が減りました Java5からは地味にコーディング量が減るようになっているので その一環ですね

pipi8290
質問者

お礼

早速のご回答ありがとうございました。 おかげさまで理解が少し深まったように思います。

関連するQ&A

  • System.out.printlnの仕組み

    javaのSystem.out.println();について質問です。 System.out.println()の仕組みのサンプルコードを、以前書籍かサイトで見かけました。 それを見る限り この out は、Systemクラスのフィールド、定数out(静的)でPrintStream型のようでした。 そして、このPrintStream型の定数にPrintStreamのインスタンスを代入していました。 定数outはstaticだったのでSystem.out とSystemクラスはnewせずに直接呼べて、 定数自体にはPrintStreamインスタンスの参照が格納されているので printlnメソッドは、PrintStreamクラスのものかなと思いました。 疑問なのは、Systemクラスの定数に わざわざPrintStreamインスタンスを代入して PrintStreamクラスのメソッドを呼んでいるのかということです。 なぜPrintStreamクラスのprintlnメソッドを使うために PrintStreamクラスとSystemクラスの両方を使用するかが見えてきません。 詳しい方おられましたら教えてもらえないでしょうか?

  • 『独習JAVA』が難しい

    『独習JAVA』が難しいと感じるのですが。 私は初心者ですが、カタカナ語が多くて。。 JAVAに向いていないだけなのか、この本が 難しいのかよくわかりません。どうなのでしょう? ついでに質問です~。 独JAVAの2章の2・1「メソッドの構造」を どなたか解説していただけないでしょうか?? 読んでも全く意味が分かりません。どこが? ときかれても「どこも」わかりません泣。 戻り値?メソッド? ??? といった感じです。1章も分からなかったけど 何とか読みました。メソッドのところは何も 分からず先に進めません。。。よろしくおねがい します。。。

    • ベストアンサー
    • Java
  • java 戻り値なしの乗算について

    最近javaを習い始めたのですが、今やっている戻り値なしの乗算の実行コマンドの書き方が解りません。 問題の内容が、 class SampleB{ int data=100; void kakezan(int a){ int ans; ans=a*data;       System.out.println(a+"*"+data+"="+ans); } } class Jikko{ //ここ } 問題 (引数 あり 戻り値 なし) Jikkoクラスの//ここに実行するためのメソッドをつくり、 ・SampleBクラスのkakezan()メソッドに「3」、「8」、「10」を渡して呼出 なのですが、 class JikkoB{ public static void main(String[]args); SampleB b=new SampleB(); int ans=a*data; System.out.println("a+*data=+"ans); b.a(3); } } ここまで書きましたがエラーが7つも出てコンパイルできません。 色々と調べましたが正しいメソッドが解りません。 どなたか詳しい解答と解説を教えていただければ幸いです。

    • ベストアンサー
    • Java
  • Javaでのエラーについて

    Exception in thread "main" java.util.UnknownFormatConversionException: Conversion = '.' at java.util.Formatter.checkText(Unknown Source) at java.util.Formatter.parse(Unknown Source) at java.util.Formatter.format(Unknown Source) at java.io.PrintStream.format(Unknown Source) at java.io.PrintStream.printf(Unknown Source) at ShininginSpace.main(ShininginSpace.java:33) と出てきたのですが、これはどういう意味ですか?

    • ベストアンサー
    • Java
  • javaで

    フォルダに AA.java, BB.java, CC.java, ‥という不特定多数のクラスがあって メソッドString name()を3つとも実装しているとします。 そのメソッドを呼ぶと、クラスの名前AAやBBが返戻地として返されるとします。いまこのフォルダにあるすべてのクラスの、このメソッドを よぶとします。クラスの数はいくつあるのかはわかりません。このメソッドをよんですべてのクラスの名前を取得するようにしたいです。 このようなプログラムをつくるにはどうすればいいのでしょうか?

  • Printfについて教えてください

     今日は。  Cの初心者です、宜しくお願いします。  javaにはPrintとかPrintlnという両方のコマンドがありますが、CにはPrintfしかないのでしょうか。  両方あれば改行コードの書き方が楽だと思うのですが。  皆さんはどのように改行コードを書いているのでしょうか。  宜しくお願いします。

  • Printfについて

     今日は。  Cの初心者です、宜しくお願いします。  javaにはPrintとかPrintlnという両方のコマンドがありますが、CにはPrintfしかないのでしょうか。  両方あれば改行コードの書き方が楽だと思うのですが。  皆さんはどのように改行コードを書いているのでしょうか。  宜しくお願いします。

  • Javaでの質問になります。

    Javaでの質問になります。 最近Java勉強していて感じたのですが、 オーバーライドとポリモーフィズムの違いがわかりません。 「オーバーライド」 子供のクラスが、親のクラスと全く同じメソッドを上書きする事 したがって、子供のクラスで働きを変更することが出来る。 「ポリモーフィズム」 定義上は同一とみなせるが、実装とは別で色々ある と私は理解しました。 なんかサイト等のコードを見ても腑に落ちない点があって 最初はわかったつもりでいたんですが、見れば見るほど、これ同じ事言ってね?っと いう風に頭の中でループしてしまってます。 理解しやすい解説等ありましたら、ご回答頂ければ幸いです。

  • メソッド宣言の戻り値の型にクラス名を使うには?

    メソッドの戻り値の型にクラス名を使ってるプログラムを見かけたのですが、例えばクラス名を public class Player{ とします。そして Playerクラスのメソッド宣言に  private   Player(戻り値の型) startRun(メソッド名) { とあります。 これは戻り値の型にクラス型の変数を使ってユーザー定義してると思うのですが使い方が分かりません。 javaのサイトはできるだけ調べたのですが戻り値の型にクラス名を使うにはどうすればいいか分かりませんでした。 この使い方を教えてくれるサイトを教えてください。 基本型と参照型のStringクラスについて教えてくれるサイトはたくさん見かけたのですが…。 お願いします。

    • ベストアンサー
    • Java
  • オーバーライドについて

    はじめまして。 変な質問ですみませんが質問させてください。 オーバーライドの定義についてなのですが、 オーバーライドとは、スーパークラスで定義した、メソッドの メソッド名と戻り値のデータ型と引数の数とそのデータ型が等しい メソッドをサブクラスで定義することであると、 認識しているのですが、間違いでしょうか、 特に、戻り値のデータ型はスーパークラスとサブクラスとで同じでなけ ればならないんですよね? ご教授お願いします。

    • ベストアンサー
    • Java