while或if判断中误用 ++ 或 --
if(stack.peek() == popA[index]){
stack.pop();
index++;
}
不要自作聪明,为了什么代码简洁写成:
if(stack.peek() == popA[index++])
stack.pop();
记住:while或者if的实现区没有对循环变量进行改变的前提下,可以直接在判断条件中进行++/--(代码简洁性)
方法调用栈的顺序

结果是“21”还是“12”?
结果:

断点调试也显示,先进入test()执行,将append上1后,再返回main(),append上2。
String.split()方法:

Java的split方法会将Delimeter中间的”虚空“单独分离出来,作为一个值为”“,长度为0的String。看下面:

Scanner的先使用next()后使用nextLine()方法
导致第一次nextLine()读入的值是”“——值为”"长度为0的字符串。
本文探讨了编程中常见的逻辑陷阱,如在while或if判断中误用++或--操作符,以及方法调用栈的执行顺序。同时,深入解析了Java中String.split()方法的特殊行为,并警告了在使用Scanner时,先调用next()后调用nextLine()可能导致的意外结果。
1455

被折叠的 条评论
为什么被折叠?



