初めまして。
最近Javaを始めたのですが、本やサイトなどを参考に少しずつ頑張っております。

で、質問なんですが。

1: double x;
2:
3:  InputStreamReader kbd = new InputStreamReader(System.in);
4:  BufferedReader number = new new BufferedReader(kbd);
5:
6:   System.out.print("input number => ");
7:   System.out.flush();
8:
9:   try[
10:   省略・・・

というコードを某サイトで見てやってみました。
3行目4行目などは何となく理解出来るのですが、
7行目のSystem.out.flush();という所がいまいち理解できません。
7行目を削ってコンパイルし実行してみた所、一見問題なく動いてしまいました。
これはあってもなくても問題ないという事なんでしょうか?

それと、3行目4行目の箇所ですが、API仕様ドキュメントを見てみた所

BufferedReader number = new BufferedReader(new InputStreamReader(System.in));

という形で・・と例が出てました。
一般的にはこの書き方の方が推奨されるのでしょうか?

長文でしたが、以上質問でした。
よろしくお願いします。