如果您有这样的程序:
public class ABC
{
public static void main(String args[])
{
System.out.println("1");
http://example.com
System.out.println("2");
}
}
注意http://example.com
两个输出语句之间写的URL 。
为什么程序编译时没有任何错误?
程序编译没有错误的原因是程序将其视为http:
标签,这在Java中是允许的,并且通常与循环一起使用。
第二部分//example.com
是,是的注释,//
因此被编译器忽略。
因此,它可以正确编译。
问题内容: 这段代码使我凝视了几分钟: (这里的第137行) 我以前从未见过,而且我也不知道Java有一个“ loop”关键字(NetBeans甚至没有像关键字一样给它上色),并且它在JDK 6中可以很好地编译。 有什么解释? 问题答案: 它不是一个keyword,而是一个label。 用法:
我得到一个当我运行我的Java应用程序。典型的原因是什么?
问题内容: 我们知道throw的规则是,其中必须是Throwable类型的对象或Throwable的子类。 简单类型(例如int或char)以及不可Throwable类(例如String和Object)不能用作异常。是表示空值的特殊Java文字。 那么为什么要在此代码中进行编译? 问题答案: 根据语言规范,一条语句定义为: 如果计算结果为,则抛出a。特别, 如果对 Expression的 求值正常
问题内容: 当用一个简单的块编译以下代码时,Java编译器将产生以下输出(在ASM字节码查看器中查看): 码: 字节码: 在两者之间添加一个块时,我注意到编译器将块复制了 3 次(不再再次发布字节码)。这似乎在类文件中浪费空间。复制似乎也不限于最大指令数(类似于内联的工作方式),因为当我向添加更多调用时,它甚至复制了该块。 但是,我的自定义编译器使用不同的方法编译相同代码的结果在执行时完全相同,但
问题内容: 到目前为止,我了解Java中的Httpsession概念。 将根据请求创建一个会话对象。 将“字符串”和值与Session对象绑定。 将返回与指定字符串相关联的对象。 我无法理解的是:我正在创建一个会话对象 ,并通过调用为其设置名称。在这里,此代码位于服务器内部。对于每个人,当他尝试登录时,将在服务器中执行相同的代码。在此方法中,字符串值是一个常量。因此,创建的每个会话对象都将由我提供
问题内容: 遇到一个错误地使用 而不是 在其代码中的人,它没有显示为编译错误。 是因为 是相同的 ? 问题答案: 没有编译错误,因为它是有效的(尽管相当无用) 一元运算符 ,其使用方式与以下方式相同: Java语言规范中的相关部分是Unary Plus运算符+(第15.15.3节) 。它指定调用一元运算会导致操作数的一元数值提升(第5.6.1节)。这意味着: * 如果操作数是编译时类型的,,,或,