前から疑問に思っていたのでついでに聞きます。

String s = (Stringを返すメソッド);
for(int i = 0;i<s.length();i++){
System.out.println(s.charAt(i));
}

こういう時って、繰り返すたびに、
String#length()が呼ばれるんですか。
いつも、それが気になって、
String s = (Stringを返すメソッド);
int n=s.length();
for(int i = 0;i<n;i++){
System.out.println(s.charAt(i));
}
みたいに書いてるんですけども。