次のコードでは、String 名を初期化しないままにしておくとコンパイル エラーが発生しますが、char の初期化は初期化されていないままでも問題ありません。この行動の違いはなぜですか?
class Demo {
public static void main(String[] args) {
char initial;
String name;
for (String input: args) {
name += input;
initial = input.charAt(0);
System.out.print(initial + " ");
}
}