Java 如何首先预测它是否会产生运行时错误或不会编译

Java 如何首先预测它是否会产生运行时错误或不会编译,java,runtime,compilation,Java,Runtime,Compilation,我在不同的地方看测验和测试,比如blackbeltfactory等等。。关于java。我遇到的问题有很多选择,比如不编译或者在运行时抛出异常 乍一看,有没有办法猜测会发生什么?或者这是一个熟悉java的问题? 我认为这是关于java如何工作的一个重要观点 提前感谢,, Bugra对于人类来说,您必须熟悉Java 对于机器或程序来说,它必须遵循语言指定的规则 例如,给定的类: class Main { String s; } 调用以下命令的结果是什么: Main m = new Ma

我在不同的地方看测验和测试,比如blackbeltfactory等等。。关于java。我遇到的问题有很多选择,比如不编译或者在运行时抛出异常

乍一看,有没有办法猜测会发生什么?或者这是一个熟悉java的问题? 我认为这是关于java如何工作的一个重要观点

提前感谢,, Bugra

对于人类来说,您必须熟悉Java

对于机器或程序来说,它必须遵循语言指定的规则

例如,给定的类:

class Main  {
     String s;
}
调用以下命令的结果是什么:

Main m = new Main();
m.s.length();
A不编译吗

B在运行时抛出异常

要回答这个特定的问题,您必须知道如何在Java中定义类,以知道我显示的类定义是否有效,还必须知道如何定义属性和默认值等,因此您必须熟悉该语言

当您了解所有这些概念时,您可以轻松快速地回答

顺便说一句,著名的Sun认证Java程序员认证,就是要知道这类东西,而不是知道如何开发应用程序。这是关于在人工编译器中转换您自己的问题

对于人工,您必须熟悉Java

对于机器或程序来说,它必须遵循语言指定的规则

例如,给定的类:

class Main  {
     String s;
}
调用以下命令的结果是什么:

Main m = new Main();
m.s.length();
A不编译吗

B在运行时抛出异常

要回答这个特定的问题,您必须知道如何在Java中定义类,以知道我显示的类定义是否有效,还必须知道如何定义属性和默认值等,因此您必须熟悉该语言

当您了解所有这些概念时,您可以轻松快速地回答


顺便说一句,著名的Sun认证Java程序员认证,就是要知道这类东西,而不是知道如何开发应用程序。这是关于在人类编译器中转换自己的问题

在我看来,这是一个熟悉java的问题,但有些编译错误一目了然,它们与其他语言非常相似。

在我看来,这是一个熟悉java的问题,但有些编译错误一目了然,它们是不一样的与其他语言非常相似。

显然,更好地了解Java会有所帮助。然而,有一些一般规则

不编译意味着编译器无法理解代码的语法。这可能是由于括号或括号放错位置或丢失、参数数量错误的方法以及其他类似情况造成的:

int a = (3 + 2) - 1);
运行时抛出异常意味着编写的代码在语法上是有意义的,但当它实际执行时,它会告诉机器去做一些无论出于什么原因都不可能的事情。有些异常是内置在语言中的,例如如果您试图除以零,但许多异常也是显式定义并在代码中抛出的。程序员使用这些异常来创建程序,当他们尝试做一些不应该做的事情时,这些程序会明显中断,而不是默默中断,然后导致其他问题:

int a = b / c; // very bad if c == 0

一般来说,编译器错误看起来更像是输入错误,通常是由输入错误引起的,而运行时异常则是由在特定条件下失败的行引起的,例如某些变量等于零。不过,再次强调,真正了解Java语言是不可替代的。

显然,更好地了解Java会有所帮助。然而,有一些一般规则

不编译意味着编译器无法理解代码的语法。这可能是由于括号或括号放错位置或丢失、参数数量错误的方法以及其他类似情况造成的:

int a = (3 + 2) - 1);
运行时抛出异常意味着编写的代码在语法上是有意义的,但当它实际执行时,它会告诉机器去做一些无论出于什么原因都不可能的事情。有些异常是内置在语言中的,例如如果您试图除以零,但许多异常也是显式定义并在代码中抛出的。程序员使用这些异常来创建程序,当他们尝试做一些不应该做的事情时,这些程序会明显中断,而不是默默中断,然后导致其他问题:

int a = b / c; // very bad if c == 0

一般来说,编译器错误看起来更像是输入错误,通常是由输入错误引起的,而运行时异常则是由在特定条件下失败的行引起的,例如某些变量等于零。不过,再次强调,真正了解这门语言是不可替代的。

我确信学习Java比学习t更容易
o不懂Java就猜。这有点像问你如何在不懂英语的情况下预测英语中的语法是否正确。当我作为初学者看到这些问题时,我觉得这个概念很重要,因为我在一些与scjp相关的网页上看到了它们。现在我明白了。我很确定学习Java会比不懂Java就猜容易。这有点像问你如何在不懂英语的情况下预测英语中的语法是否正确。当我作为一个初学者看到这些问题时,我觉得这个概念很重要,因为我在一些scjp相关的网页上看到了它们。现在我明白了这一点。“不编译意味着编译器无法理解代码的语法。”-这在很多层面上都是错误的。“不编译意味着编译器无法理解代码的语法。”-这在很多层面上都是错误的。问题是我是一名想学习java的物理系学生在软件开发过程中,我有一些编程方面的经验,而且,我总是取得进步,直到某一点,然后我就卡住了。现在我可以说,这些经验对我使用Java有很大帮助。看你最后两句话,我告诉你这些。我想从事Java的工作,我的理科学生部分想像“编译器”一样思考,另一方面,我想学习开发过程和Java特有的技术。A我需要一些建议和提示。另外,请检查,谢谢,Bugrat这是编程语言的好部分,他们有我们喜欢的正式部分。我的意思是,无论是0还是1,都有正式的定义。但同时,软件开发也为创造力提供了巨大的可能性,几乎和我想说的音乐或文学一样。问题是,我是一名物理系学生,想学习java和软件开发过程,并具有一些编程经验,而且,我一直在进步,直到某一点,然后我就坚持了下来。现在我可以说,这些经验对我使用Java有很大帮助。看你最后两句话,我告诉你这些。我想从事Java的工作,我的理科学生部分想像“编译器”一样思考,另一方面,我想学习开发过程和Java特有的技术。A我需要一些建议和提示。另外,请检查,谢谢,Bugrat这是编程语言的好部分,他们有我们喜欢的正式部分。我的意思是,无论是0还是1,都有正式的定义。而且,软件开发为创造力提供了巨大的可能性,几乎和我所说的音乐或文学一样多。