gpt4 book ai didi

java - for循环条件中的终止变量可以在循环内更改吗?(Java)

转载 作者:行者123 更新时间:2023-12-01 18:43:57 25 4
gpt4 key购买 nike

在Java中,使用for循环时,当然需要编写终止条件。这是我的 for 循环:

for(int i=1; i<=infix.length()-2; i++){
if(infix.charAt(i)==' '){
infix=infix.substring(0,i)+infix.substring(i+1);
}

(中缀是我作为参数获得的字符串)。正如你所看到的,我在循环中使用了子字符串,这缩短了中缀的长度,这意味着循环的终止条件在每次迭代后都会改变。
我的问题是:值“infix.length-2”是否保存在 for 的开头并且以后不会更改?或者它每次都会改变,如果是这样,我会发生什么? for什么时候停止?是否有可能出现索引越界或类似情况?
预先非常感谢您! :D

最佳答案

每次循环都会计算字符串长度,如果字符串变得太短,您的 for 可能会抛出 IndexOutOfBoundsException

恕我直言,你的做法非常糟糕,for循环旨在进行确定数量的循环,并且永远不应该停止,而且它们的停止条件永远不应该在循环内更改,你应该使用如果您不知道要执行多少次迭代,则使用 while 。但这是的个人意见:)

关于java - for循环条件中的终止变量可以在循环内更改吗?(Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18688368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com