public int kazu(int da1,String st1,String st2) {
return st1.indexOf(st2, da1-1)+1;
}

public int kazu(int da1,String st1,String st2) {
int da2;
da2=st1.indexOf(st2, da1-1)+1;
return da2;
}

文字の位置を1〜とだすルーチンですが
同じ値で前者は1、後者は0と違う値を返すことがありました
直接返すか、一度変数に代入するかの違いです
これを説明できる方いますか?