语义或逻辑错误?

时间:2016-04-24 14:16:14

标签: semantics

我已经看过很多关于这个主题的问题,但我仍然无法弄清楚以下是否是语义或逻辑错误。
假设我有以下Java代码:

<?php

class FixtureFactory
{
    public function getNewTimeMock($hour, $minute, $second)
    {
        // code for creating the mock
    }
}

您可能已经看到我可能想要记下boolean a = false; if (a = false) System.out.println("yes"); else System.out.println("no"); 而不是==,但是:程序编译得很好并且运行没有错误。但是,它确实没有给我预期的结果。

我发现某处语义错误总是会产生错误(在编译或运行时),因此这必然是一个逻辑错误。但是,另一篇文章说语义错误并不总是会产生错误。因此问题是:上面的例子是否包含语义或逻辑错误?

1 个答案:

答案 0 :(得分:-1)

通过编写以下表达式:a = false您基本上分配一个值为false的变量,它可以正常工作并返回true作为成功操作,这就是为什么您将始终打印&#34; yes&#34;在控制台中。