Java for循环棘手迭代

时间:2018-12-04 11:02:21

标签: java android for-loop

我已经多次运行代码,想知道哪里出了问题。

这个简单的for循环应该运行4次。为什么只运行两次? 我错过了什么吗?我正在使用android-studio股票模拟器api-28进行调试。

boolean[] booleans = {false, false, false, false};

for(boolean b :  booleans){

     System.out.println(b);
}

log cat output

请检查已编辑的代码并记录cat输出。

edited code

1 个答案:

答案 0 :(得分:4)

乍一看,在Android Studio中,它会在调试时打印两次或3次,在“调试”标签中,
事实是这样:

I/System.out: Start
I/System.out: false
I/System.out: false
I/chatty: uid=10075(u0_a75) com.xxxxxxxxx.xxxx identical 1 line
I/System.out: false
I/System.out: End

I/System.out: Start
I/System.out: false
I/chatty: uid=10075(u0_a75) com.xxxxxxxxx.xxxx identical 2 lines
I/System.out: false
I/System.out: End


如您所见,而不是打印

I/System.out: false

喜欢打印

I/chatty: uid=10075(u0_a75) com.xxxxxxxxx.xxxx identical 2 lines


为什么?我不能说
也许在Logcat选项卡中会发生类似的情况。
是的,它在Logcat标签中很相似:

2018-12-04 14:16:17.756 2209-2209/com.xxxxxxxxx.xxxx I/System.out: false
2018-12-04 14:16:23.902 2209-2209/com.xxxxxxxxx.xxxx I/chatty: uid=10075(u0_a75) com.xxxxxxxxx.xxxx  identical 2 lines
2018-12-04 14:16:24.929 2209-2209/com.xxxxxxxxx.xxxx I/System.out: false
2018-12-04 14:16:25.860 2209-2209/com.xxxxxxxxx.xxxx I/System.out: End

那么最后: 通过删除“系统” 来删除输出窗口的过滤条件,您将看到类似的输出

I/System.out: false

identical 2 lines