int[] arr = {1,3,3,2,8};
String str ="";
int i=0;
public void doIt(){
for(;i<arr.length;){
if(arr[i]>arr[i+1]){
str=arr[i]+arr[i+1]+str;
break;
} else if(arr[i]<arr[i+1]){
str=arr[i]+str+arr[i+1];
i++;
continue;
} else{
str+=arr[i];
i++;
}
}
System.out.println(i);
System.out.println(str);
}
------解决思路----------------------
debug一下,就清晰了。I=0 arr[0]<arr[3]执行第2个。i=1执行第三个。i=2时执行第一个break跳出循环
------解决思路----------------------
1 continue 13
1 else 133
2 break 5133
执行顺序如上,从这里可以看出,当i的值为0的时候arr数组中的下标为0的(1)<下标为1的(3),所以执行else if,接下来就类似了。
需要注意的是continue和break的区别,其中continue是不执行本层循环continue后边部分的代码,继续下一次的循环(如果循环没有完成的话),而break是直接跳出循环,即使下一次的循环也会满足条件。所以当到
2 break 5133的时候就不在继续执行了。