问题标签 [ocpjp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
697 浏览

java - Post 和 Pre 增量运算符

当我运行以下示例时,我得到输出 0,2,1

我不明白为什么输出是 0,2,1 而不是 0,2,2

0 投票
3 回答
70040 浏览

java - 使用 printf 和 format 进行格式化

在下面的程序中

输出是

有人可以解释一下如何将双精度值(即123.456)转换为布尔值(即。true

我问的原因是因为我知道 java 不允许将数字用于布尔值。例如,Java 中不允许以下内容

谢谢

0 投票
1 回答
197 浏览

java - 线程并发——同步和锁。

当我运行上述程序时,我得到以下异常:

几个问题:

  • 为什么会出现 IllegalMonitorStateException?因为 Test.sa 被分配给一个新的 String 对象,我期待 ZiggyTest2 线程无限期地等待,因为 sa.notify() 将在与 ZiggyTest2 中使用的锁不同的锁上调用。

  • 在上面的示例中,在“sa”对象上调用了 wait() 和 notify()。说自己调用 notify() 和使用对象即 sa.wait() 和 sa.notify() 调用 notify()/wait() 有什么区别?

  • 在 Test 类中同步块具有 sa 对象的锁并且 sa 对象是静态的但在 ZiggyTest2 类中,同步块使用相同的 sa 对象引用但使用非静态引用是否重要?鉴于一个是静态的而另一个不是,他们是否仍然使用同一个锁?

0 投票
4 回答
3812 浏览

java - 解决向上转换/向下转换问题

有没有人有任何可行的策略来解决铸造/上转型问题?我理解何时允许向上转换和向下转换,但是当问题往往涉及多个对象时,我往往很快就会感到困惑。例如,找到这样一个问题的答案的最佳方法是什么:

问题:编译以下程序的结果是什么:

我对答案并不感兴趣,但对解决问题的方法更感兴趣。有什么方法/策略可以用来解决像上面这样的向上转换/向下转换问题吗?例如,可以在纸上绘制参考/对象,以便我可以获得视觉表示,这有帮助吗?

谢谢

0 投票
1 回答
1884 浏览

java - SCJP/OCPJP 7 目标

SCJP/OCPJP 7 新增了哪些目标?
或者更具体地说,SCJP/OCPJP 6 和 7 之间有哪些变化?

PS:我不确定它是否仍然被称为SCJP。


编辑:我已经为 OCPJP 7 添加的新更改/目标添加了一个帖子

0 投票
4 回答
500 浏览

java - 实例化一个泛型类

我正在为 SCJP/OCPJP 学习,我遇到了一个对我来说很奇怪的示例问题。

示例代码实例化了两个通用集合:

该问题的“正确”答案是该代码可以编译,但添加到任一集合都会产生运行时错误。

当我尝试编译这样的代码时,我只会得到错误。Java 教程甚至没有显示这种类型的代码,而是通常使用通配符作为向上转换的一部分。

上面的两个通用集合是合法代码吗?按照我的逻辑,第二个只会禁止接口。第一个看起来完全没用。为什么要使用不尝试控制的泛型?

0 投票
10 回答
66790 浏览

java - 为什么 Double.NaN==Double.NaN 返回 false?

我只是在研究 OCPJP 问题,发现了这个奇怪的代码:

当我运行代码时,我得到:

false当我们比较两个看起来相同的东西时,输出如何?是什么NaN意思?

0 投票
2 回答
1265 浏览

java - java == 表示整数

可能重复:
java 的 == 整数包装对象的不一致行为
仅在值 127 内共享相同的实例?

我发现 Integer 对象有以下 == 行为,但我无法理解。(我很清楚应该使用 equals 进行此类比较,但我正在为 OCPJP 学习......)

简而言之,== 对 1000 的预期效果,但对 10 无效。

之前的代码片段是:

它的行为与预期的一样:

后者虽然:

具有以下输出:

有人可以解释为什么会这样吗?

0 投票
2 回答
123 浏览

java - 需要解释输出

下面的代码为什么会显示两次“Hi1”和“Hi3”?

我刚刚开始准备 OCPJP 考试。

0 投票
3 回答
965 浏览

java - 有多少对象符合垃圾收集器的条件

有两种对象符合垃圾收集条件,但一种很难理解。

1)这条线我认为它会做到这一点

2)但真正在做的是这个(所以一个合格的对象)为什么会这样?

因为分配是从右到左关联的。

谁能解释一下?谢谢