java - 理解java中的 boolean 值!array[i]

标签 java boolean default

http://introcs.cs.princeton.edu/java/14array/CouponCollector.java.html

好吧,据我了解,如果

boolean[] found = new boolean

没有初始化,它被赋予了默认的 boolean 值,即 false。但由于 false 的负数为 true (!found[val]),当所有 boolean 值都设置为默认值 (false) 时,此条件如何起作用?提前致谢。

最佳答案

这里没有什么神秘的。我认为你只是没有仔细阅读代码。以下是相关片段及其“含义”。

    boolean[] found = new boolean[N];    // found[i] = true if card i has been collected

found 的所有元素最初都是 false。 (注释记录了 found 数组的不变量。)

    if (!found[val]) valcnt++;

如果 !found[val] 为 true(即 found[val] 仍然为 false),则增加计数器 ...

    found[val] = true;

...并将 found[val] 设置为 true,这样我们就不会再次计算此 val。

关于java - 理解java中的 boolean 值!array[i],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9346980/

相关文章:

Ruby:如何将字符串转换为 boolean 值

c++ - 结构模板的默认参数

c++ - C++ 函数中对默认第一个参数的支持历史

Java HttpClient 模拟 IE8 行为

java - 为什么我的 ListAdapter 没有显示任何数据?

Python错误: 'numpy.bool_' object is not iterable

android - 当我使用android 4.1默认图标时提示 "Error: No resource found ",为什么会这样?

java - 解决Java循环依赖

java - 如何在不使用 final 关键字的情况下在 Java 中创建不可变类

java - 在Java中将 boolean 值转换为int