请问
[align=left]for(j=i-1; j>=0; j--) {
if(ints[j]>tag) {
ints[j+1] = ints[j];
}
}[/align]
和
[align=left]for(j=i-1; j>=0&&ints[j]>tag; j--) {
ints[j+1] = ints[j];
}[/align]
有什么区别?
[align=left]for(j=i-1; j>=0; j--) {
if(ints[j]>tag) {
ints[j+1] = ints[j];
}
}[/align]
和
[align=left]for(j=i-1; j>=0&&ints[j]>tag; j--) {
ints[j+1] = ints[j];
}[/align]
有什么区别?
可以理解复杂度,可是不太理解产生不同结果,能不能详细说说
public class test4 { public static void main(String[] args) {
// TODO Auto-generated method stub
int ints[]={1,3,6,4,2}; for(int j=3;j>=0&&ints[j]<5;j--) {
ints[j+1]=ints[j];
}
System.out.println(Arrays.toString(ints)); }}运行结果: 这里当j=2时,跳出循环.[1, 3, 6, 4, 4]public class test5 { public static void main(String[] args) {
// TODO Auto-generated method stub
int ints[]={1,3,6,4,2}; for(int j=3;j>=0;j--) {
if(ints[j]<5)
ints[j+1]=ints[j];
}
System.out.println(Arrays.toString(ints));
}
}运行结果:[1, 1, 3, 4, 4]