亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

main 是有效的 Java 標識符嗎?

main 是有效的 Java 標識符嗎?

一只甜甜圈 2021-09-12 16:54:06
我的一個孩子在高中學習 Java 并在他的一項測試中得到了這個:以下哪個是 Java 中的有效標識符?一種。 123java灣 mainC。 java1234d. {abcee. )whoot他回答了b并弄錯了。我看著這個問題,并認為這main 是一個有效的標識符,它應該是正確的。我們查看了標識符的 Java規范,它強化了這一點。我們還編寫了一個示例程序,其中有一個名為 的變量main以及一個方法。他創建了一個書面反駁,其中包括 Java 文檔參考、測試程序,但老師忽略了它并說答案仍然不正確。是main有效的標識符嗎?
查看完整描述

3 回答

?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

public class J {    
    public static void main(String[] args)
    {
        String main = "The character sequence \"main\" is an identifier, not a keyword or reserved word.";
        System.out.println(main);
    }}

這將編譯,并在執行時發出以下輸出:

The character sequence "main" is an identifier, not a keyword or reserved word.

字符序列main是一個標識符,而不是關鍵字或保留字。

JLS相關部分是 3.8

一個標識符是無限長序列的Java字母爪哇位,其中第一個必須是一個爪哇字母

標識符:

    IdentifierChars 但不是關鍵字或 BooleanLiteral 或 NullLiteral

標識符字符:

    JavaLetter {JavaLetterOrDigit}

Java信件:

    任何作為“Java 字母”的 Unicode 字符

JavaLetterOrDigit:

    任何 Unicode 字符是“Java 字母或數字”

字符序列main符合上述描述,不在3.9節關鍵字列表中。

java1234出于同樣的原因,字符序列也是一個標識符。)


查看完整回答
反對 回復 2021-09-12
?
斯蒂芬大帝

TA貢獻1827條經驗 獲得超8個贊

正如其他答案所述

main是一個有效的 Java 標識符,以及java1234.

我想令人困惑的原因是該main(String[])方法經常被 JVM 1用作入口點。但是,這并不意味著令牌main本身不能用作標識符2。

規范是這樣說的,以下聲明也是有效的:

  • 一個領域:

    private int main;
  • 局部變量:

    String main = "";
  • 一個方法:

    void main() { ... }
  • 類或接口(盡管不鼓勵以小寫字母開頭的類或接口名稱):

    class main { ... }
  • 一袋:

    package main;

1:正如評論中所指出的,JVM 規范本身并沒有強制要求任何特定方法作為入口點,但廣泛使用的java工具經常使用這種方法作為入口點。
2:我通常會避免創建除main(String[]).


查看完整回答
反對 回復 2021-09-12
  • 3 回答
  • 0 關注
  • 394 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號