質問す。お願いします。連続の読み込みなんかで

while(true){
 String str = br.readLine(); //brはBufferedReader
 if(str.equals("END")) break;
 いろいろ
}

っていうのを見ました。こんな風にwhile(true)なんて使っていいんでしょうか?
もしよいとしても、Stringは

String str;
while(true){
 str = br.readLine(); //brはBufferedReader
 if(str.equals("END")) break;
 いろいろ
}

のように、whileの外で定義した方がよいのではないでしょうか?

俺、勘違いしてるでしょうか?