如何用JDK編譯JAVA程式?

來源:互聯網
上載者:User

JAVA版hello   world全攻略 
侯光敏 

        看到很多技術網站的BBS上面充斥著java初學者的關於運行第一個java程式的求助資訊,我覺得作為“過來人“很有寫這篇文章的必要,因為他們遇到的都是些很低級的問題,但是讓這些問題佔據bbs上那麼多寶貴的空間就太不應該了。 
        要搞清楚的基本概念 
        java是一種跨平台的網路語言,為了能夠在不同平台上運行,它使用了虛擬機器這個概念。尾碼名為java的檔案是原始碼檔案,它經過編譯後產生的是class檔案。虛擬機器執行的就是這些class檔案,將它們轉化成為不同平台能夠啟動並執行命令。這就是為什麼java的效率比較低的原因。也是因為這個原因,在java裡沒有其它語言的使用者熟悉的exe檔案的概念。 
        執行hello   world的方法 
        切記:在命令列中輸入   javac   源檔案名稱.java   (編譯) 
                                                java     源檔案名稱             (執行,沒有尾碼) 
這裡說的是java   application,裡麵包括main函數。 
如果hello   world是applet版的,在命令列中輸入appletviewer   源檔案名稱   (已經編譯後的class檔案) 
如果class檔案已經嵌入了html網頁中,直接用IE開啟就行了。 

        application經常出現的錯誤 

        系統提示Exception   in   thread   "main "   java.lang.NoClassDefFoundError。出現這個提示的原因可能有: 
        1   你把檔案名稱拼錯了,java對大小寫是敏感的。打錯了當然找不到檔案。 
        2   虛擬機器沒有找到必須的類庫。你可能沒有在autoexec.bat檔案中設定classpath。進入windows的運行,輸入sysedit,然後在autoexec.bat檔案中加入這麼一行:set   classpath=你的jdk的安裝目錄/lib;   例如set   classpath=c:/jdk1.3.0_02/lib;   儲存退出後,你要在dos視窗的c根目錄下執行一遍autoexec.bat檔案已保證被設定了,當然,如果你願意也可以重啟機器。 

        系統提示HelloWorld.java:1:   Public   class   helloworld   must   be   defined   in   a   file   called   
                      "HelloWorld.java ".   
                        public   class   helloworld{   
                        ^   
一個Java來源程式中可以定義多個類,但是,具有public   屬性的類只能有一個,而且要與檔案名稱相一致。還有,main方法一定要放在這個public   
的類之中,這樣才能運行這個類。 

          系統提示Exception   in   thread   "main "   java.lang.NoSuchMethodError:   main   出現這個異常是因為你在抄書上的代碼時抄錯了。主函數一定要這麼寫:public   static   void   main(String   args[])   一個字都不能錯,切記!!! 

        applet常出現的錯誤 

        IE顯示了一個灰色的地區,但是上面沒有顯示hello   world,狀態列顯示load:calss   你的class檔案名稱   no   found   。出現這個問題是因為IE沒有找到applet(有點廢話),你應該把class檔案放在和html檔案相同的目錄下。如果class檔案在該檔案夾的子目錄下,那麼要這麼寫CODE=   "子目錄名.檔案名稱.class "。 
        IE顯示applet已經啟動,但是還是只顯示灰色的一塊。這種問題在使用jBuilder等整合開發工具是最容易出現,用appletviewer就沒有問題。這是因為你在applet中使用了IE不支援的java版本。jBuilder在做applet是預設使用了swing組件,但是IE只支援jdk1.1,所以造成了這種情況。只要把匯入swing的語句去掉就行了,然後按照提示修改一下代碼,不要用swing組件的方法。如果你覺得swing組件很漂亮,打死都要用,那麼就裝一個java的plug-in這個東西在你裝jdk的高版本時就自動裝上了。看看你的控制面版中有沒有那個紅鼻子的小東西。但是切記,如果你要用它,那麼你的html的檔案的寫法就和從前不一樣了,不能簡單的用CODE來指明類了。至於怎麼寫,不在這篇文章的討論範圍內了(你寫一個hello   world還要用plug-in就搞大了)。網上有很多文章講怎麼寫。 

          怎麼實現點擊就執行 
          用慣了點擊就執行的的exe檔案自然就很不習慣開啟dos視窗輸入命令列,你可以把它做成jar檔案,但是對hello   world來說有點麻煩,有個簡單的傻辦法:自己做一個批次檔。例如:用記事本寫一個run.txt檔案,內容是:java   你的主檔案名   ,然後把尾碼改成bat存到和主檔案相同的目錄下。呵呵,雙擊就運行了,夠傻吧。 
          如果你非要用exe檔案運行,jet等工具可以把class檔案做成exe檔案。但是這樣也失去了java的跨平台性。 

          以上就是hello   world的全攻略了,如果你還看不到“hello   world“,我倒!你還是別學java了。 
      

  

 
  • {
    try{Estimate(this,'http://forum.csdn.net/PointForum/Forum/EstimateReply.aspx?forumId=3931c03e-b66c-4189-a4f0-210fd9501803&topicId=00000000-0000-0000-0000-000000883961&postDate=2002-07-18+14%3a45%3a34&replyId=5738727&type=0&v=13');LogClickCount(this,113);}catch(ex){}return false;
    }" href="javascript:;">對我有用[0]
  • {
    try{Estimate(this,'http://forum.csdn.net/PointForum/Forum/EstimateReply.aspx?forumId=3931c03e-b66c-4189-a4f0-210fd9501803&topicId=00000000-0000-0000-0000-000000883961&postDate=2002-07-18+14%3a45%3a34&replyId=5738727&type=1&v=13');LogClickCount(this,114);}catch(ex){}return false;
    }" href="javascript:;">丟個板磚[0]
  • {
    try{Quote(2);}catch(ex){};return false
    }" href="javascript:;">引用
  • {
    try{report(2);}catch(ex){}return false;
    }" href="javascript:;">舉報
  • {
    try{showMenu(this,'http://forum.csdn.net/PointForum/Manage/ModifyReply.aspx?forumId=3931c03e-b66c-4189-a4f0-210fd9501803&topicId=00000000-0000-0000-0000-000000883961&replyId=5738727&postDate=2002-07-18+14%3a45%3a34&v=13','http://forum.csdn.net/PointForum/Manage/DeleteReply.aspx?forumId=3931c03e-b66c-4189-a4f0-210fd9501803&topicId=00000000-0000-0000-0000-000000883961&replyId=5738727&postDate=2002-07-18+14%3a45%3a34&v=13');return false}catch(ex){}
    }" href="javascript:;">管理
  • TOP
精華推薦:{
LogClickCount(this,112);
}" href="http://topic.csdn.net/u/20080830/23/6ab34315-49d0-46d6-9674-87ad23db5db0.html" target="_blank">The problem is choice.


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.