<i id="nph9l"><b id="nph9l"><del id="nph9l"></del></b></i>

            專注Java教育13年 全國咨詢/投訴熱線:400-8080-105
            動力節點LOGO圖
            始于2009,一家只教授Java的培訓機構
            首頁 學習攻略 Java學習 Java的編譯及運行

            Java的編譯及運行

            更新時間:2022-09-27 11:03:22 來源:動力節點 瀏覽32次

            動力節點小來為大家介紹Java的編譯及運行。

            1.編寫源文件

            一個源文件可以有多個類(class),但只能有一個類是public類

            如果有一個類是public類,那么源文件的名字必須與這個類的名字完全相同,擴展名是 .java(注意這個有個點)

            如果源文件沒有public類,那么只要名字和某個類相同,且擴展名是.java也可以

            2.保存源文件

            保存類型選擇為所以類型,編碼選擇為ANSI

            3.額外附加:

            (1)C盤轉到D盤

            (2)進入某個子目錄(文件夾),比如下面的進入E盤的java文件夾

            (3)退出某個子目錄,比如退出java文件夾

            4.編譯器(javac.exe)

            javac B.java

            在上面可以看到編譯成功后出現了B.class文件(字節碼文件)

            如果源文件有多個類,編譯源文件會生成多個擴展名為.class的文件,在每個擴展名為.class的文件中只存放一個類的字節碼,其文件名與該類的名字相同。

            如果文件是這個

            public class B {
                int a=1;
                int f(int b){
                    a=b;
                    return a;
                }
            }

            編譯后得到的class文件,我使用反編譯器(網上下載的)可以得到這樣

            public class B {
              int a = 1;  
              int f(int paramInt) {
                this.a = paramInt;
                return this.a;
              }
            }

            注意:在編譯時候可能會出現的問題

            (1)如果回車后出現javac不是內部或外部命令,也不是可運行的程序或批處理文件

            解決方法:

            方法一:重新設置環境變量

            方法二:在MS-DOS命令窗口輸入path D:jdk1.6in(這個是你jdk)并回車,然后再編譯

            (2)如果出現兩個公共類,而名字是B.java或者是C.java

            public class B {
                int a=1;
            }
            public class C{
                int b=1;
            }

            編譯時候會出現問題

            所以符合了前面說的:源文件可以有多個類,但只能有一個類是public類

            驗證上面這句話:

            public class B {
                int a=1;
            }
            class C{
                int b=1;
            }

            編譯后

            如果是這樣也可以編譯成功

            public class B {
                int a=1;
                public class C{
                    int b=1;
                }
            }

            (3)菜鳥看到的(暫時還沒驗證)

            5.解釋器(java.exe)

            使用java虛擬機中的java解釋器(java.exe)來解釋,執行其字節碼文件(.class文件)

            比如源文件:

            public class B {
                int a=1;
                int f(int b){
                    a=b;
                    return a;
                }
            //    主類,java應用程序總是從主類的main方法開始執行
                public static void main(String []args){
                   B b=new B();
                    System.out.println(b.f(3));
                }
            }

            編譯后得到的字節碼文件(.class文件),使用反編譯器查看

            public class B {
              int a = 1;  
              int f(int paramInt) {
                this.a = paramInt;
                return this.a;
              }  
              public static void main(String[] paramArrayOfString) {
                B b = new B();
                System.out.println(b.f(3));
              }
            }

            運行:java B,得到結果是3

            執行過程:java虛擬機首先將程序需要的字節碼文件加載到內存,然后解釋執行字節碼文件,加載到內存的同時就為主類中的main方法分配了入口地址。

            注意:

            (1)java解釋器執行的類名必須是主類的名字(沒有擴展名)

            (2)如果解釋的時候出現錯誤,可能是main方法沒有寫對,或者是系統變量不正確

            在MS-DOS輸入:ClassPath=D:jdk1.7jrelib t.jar;.;然后回車確定,再使用java解釋器運行主類。

            (3)不可以帶著目錄運行程序,比如

            java C: sB

            提交申請后,顧問老師會電話與您溝通安排學習

            免費課程推薦 >>
            技術文檔推薦 >>
            返回頂部
            欧美系列A片

                <i id="nph9l"><b id="nph9l"><del id="nph9l"></del></b></i>