arry09代码为数组扩容代码;arr08代码为数组缩减代码;
09中arr数组在do循环之内,运行时可以完成数据扩容并正常输出递增。
但08arr数组在do循环之内时,输出代码一直是1,2,3,4,无法达到缩减目的,直到我改到do循环之外才进行缩减;
想知道这是为什么。两个代码内容是类似的。是因为一个是减少一个是扩容吗,原数组缩减无法在do循环内进行吗
arry09代码为数组扩容代码;arr08代码为数组缩减代码;
09中arr数组在do循环之内,运行时可以完成数据扩容并正常输出递增。
但08arr数组在do循环之内时,输出代码一直是1,2,3,4,无法达到缩减目的,直到我改到do循环之外才进行缩减;
想知道这是为什么。两个代码内容是类似的。是因为一个是减少一个是扩容吗,原数组缩减无法在do循环内进行吗
无论缩减还是扩容都需要将目标数组提升至循环体外
否则每次循环都会重新执行 int [] arr = {1,2,3} 恢复到初始状态
do{
//每次循环都将重新给变量 arr 初始化为初始状态,(上次扩容或缩减后的内将被重新覆盖)
int [] arr = {1,2,3};
//扩容代码(缩减代码)
}
如有帮助,请采纳