九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
從零開始Java學習筆記


發(fā)表時間: 2006-12-30 23:23    作者: phyan    來源: 悟天之路


25號從交大圖書館借了本《跨平臺程序設計語言-Java  Cross-Platform Programming Language Java》(上海市教育委員會 組編,趙毅主編,西安電子科技大學出版社),開始了我的Java學習之旅。
在這里寫下我學習過程中的點滴困難與解決的過程,以期對有同樣問題的朋友有所幫助。
本來打算從25號起就開始寫,但是25號剛裝好論壇,26號就臺灣地震了,中美海底光纜中斷,我的這個服務器在美國,訪問不了,直到今天才恢復,雖然還有點慢,但是總算能上來了
趕緊補上前兩天的


學習一門從來都沒接觸過的語言最大的困難就在于不知從何下手,往往一開始就出現(xiàn)問題卻不知道問題在哪里。
我先認真的看書,看完一章之后就按照書上的例子把代碼全部用記事本手工輸入。初學的往往認為樹上的例子簡單,看懂了就過去了而不動手自己把代碼寫出來運行一下,等到后面復雜的時候就根本應付不過來了。這個時候也最好避孕藥用有代碼提示和自動糾錯的開發(fā)工具,我裝了Eclipse,很好用,但是這里我想練手還是手寫最好。我也是看了網(wǎng)上好多網(wǎng)友的文章、忠告之后,加上以前我學習php的經(jīng)驗教訓,這次就有意識的這么做了。
我手工輸入了HelloWorld(SUN官方網(wǎng)站上就以此為例的)最簡單演示程序的源代碼
public class HelloWorld {

        public static void main(String[] args) {
                System.out.println("Hello World!");
        }

}
保存為HelloWorld.java之后,在DOS提示符下輸入javac HelloWorld.java 回車,停頓了一下,沒有提示信息,說明沒有問題了,記得有人說過在Dos下沒有消息就是好消息(一般發(fā)生錯誤才有提示消息),檢查了一下HelloWorld.java所在的目錄下多了個HelloWorld.class文件,說明編譯成功,然后輸入java HelloWorld 回車,出現(xiàn)了如下錯誤信息:
Exception in thread "main" java.lang.NoClassDefFoundError:
我仔細檢查并重復試了幾次也沒發(fā)現(xiàn)代碼有問題,就搜索了一下“Exception in thread "main" java.lang.NoClassDefFoundError:”,發(fā)現(xiàn)這是java初學者的經(jīng)典錯誤,我也不例外
找到了解決方法:

QUOTE:

1、你的文件名對嗎?
JAVA要求你的文件和你的類名嚴格對應的。
比如 public class HelloWorld{ .....
那么文件名一定只能是HelloWorld.java,看仔細了!

2、你的程序中有main方法嗎?參數(shù)什么的對嗎?
main方法的聲明應該是這樣子的:
public static void main(String[] args)
事實上如果你用開發(fā)工具來做的話,是不會錯的。如果你用UltraEdit之類的來寫程序的話,就一個字不要改的照抄吧!同時要注意大小寫不要出錯!

3、記住,javac后面跟的參數(shù)是文件名,但java 后面跟的是類名!
這是我開始學JAVA是犯的錯,java HelloWorld.class,然后就報錯。后來才弄明白,應該是java HelloWorld。

4、設置了classpath等系統(tǒng)環(huán)境變量了嗎?

QUOTE:

JDK/java環(huán)境變量的設置

1,在Windows XP系統(tǒng)中,假如我安裝JDk到目錄:C:\Program Files\Java\j2re1.4.2_13

2,在桌面上選中“我的電腦”,在其上單擊鼠標右鍵,選屬性,高級,環(huán)境變量(在下面)

3,在系統(tǒng)變量(S)欄點新建,出現(xiàn)新建系統(tǒng)變量對話框,在變量名(N)中填上JAVA_HOME

變量值:C:\Program Files\Java\j2re1.4.2_13

4,確定后在系統(tǒng)變量(S)欄再新建一個環(huán)境變量CLASSPATH
變量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar(開頭的dot和;不能少

5,確定后在系統(tǒng)變量(S)欄查找并選中變量為Path的選項,點編輯在變量值(V)的末尾添加:

JAVA_HOME%\bin    或者為值:C:\Program Files\Java\j2re1.4.2_13

如果沒有找到Path變量,自己新建一個!

如果你不想每次運行都要CMD到class所在目錄然后執(zhí)行java命令,可以把所有的class文件放到統(tǒng)一的目錄組織下,然后將此目錄也追加到classpath下。

測試代碼如下:

public class Test
{
public static void main(String[] args)
{
  System.out.println("Hello World!");
}
}

用記事本編輯后存為Test.java(文件名與類名相同)文件,打開命令行窗口,

cd到文件所在目錄下:

javac Test.java                   //編譯命令

java Test                            //執(zhí)行程序

如果輸出為:Hello World!   OK,配置完畢,否則,重新檢查。
總結如下:

安裝路徑:C:\Program Files\Java\j2re1.4.2_13

變量名:java_home
變量值:C:\Program Files\Java\j2re1.4.2_13

變量名:classpath
變量值:
.;%java_home%\lib\dt.jar;%java_home%\lib\tools.jar;

變量名:path
變量值:%java_home%\bin
我按照上面的設置了還是不行,后來到安裝目錄下去看時發(fā)現(xiàn)不知怎么回事lib目錄下的dt.jar和tools.jar文件都不見了

這種問題可能遇到的人比較少吧,不過到現(xiàn)在我還不明白那兩個文件怎么沒有了,我沒有手動刪過。
最后總算成功了。

我也來說兩句 查看全部評論 相關評論

  • phyan (2006-12-31 01:09:08)

    我覺得對環(huán)境變量的配置還是要仔細的學深入一點,又找了一些很好的資料貼下來:

    QUOTE:

    背景知識:環(huán)境變量介紹

    環(huán)境變量是操作系統(tǒng)、應用程序、腳本程序等等的指明燈,能夠告訴他們需要的資源在哪里。大多數(shù)的系統(tǒng)都有一些預先設置好的環(huán)境變量,當然,我們也可以增加自己的環(huán)境變量。為了看看當前系統(tǒng)的環(huán)境變量,我們可以用如下的命令:
    在Linux/Unix系統(tǒng)上,在shell命令符輸入 env ,然后回車
    在Windows系統(tǒng)中,在DOS窗口提示符輸入 set ,然后回車
    這樣,我們就可以看到系統(tǒng)當中的所有環(huán)境變量,如果我們想看看單個變量的值呢?
    在Linux/Unix系統(tǒng)上,在shell命令符輸入 echo $變量名 ,然后回車
    在Windows系統(tǒng)中,在DOS窗口提示符輸入 set 變量 或者 echo %變量%,然后回車
    如果要設置一個環(huán)境變量,可以用下面的命令:
    在Linux/Unix系統(tǒng)上,在shell命令符輸入 export 變量名="變量值" ,然后回車
    在Windows系統(tǒng)中,在DOS窗口提示符輸入 set 變量名="變量值" ,然后回車
    這樣,就設置好了。path和classpath環(huán)境變量的值都是一些有順序的目錄列表。告訴系統(tǒng)或者應用程序到哪里去尋找它們需要的資源。這個目錄列表是由一系列的分隔符分開的,Linux/Unix系統(tǒng)下分隔符是冒號“:”,windows系統(tǒng)中是分號“;”。如果,我們想在某個已經(jīng)存在的環(huán)境變量值下加一些自己的值的話,可以這樣:
        Linux/Unix系統(tǒng)下: export CLASSPATH=$CLASSPATH:/path/to/program
        Windows系統(tǒng)下: set CLASSPATH = %CLASSPATH%;c:\path\to\program
    ===================================================
    要想方便的開發(fā)和運行Java應用程序,我們需要設置兩個環(huán)境變量,一個path一個classpath。
    設置好path變量,使得我們能夠在系統(tǒng)中的任何地方運行java應用程序,比如javac、java、javah等等;這就要找到我們安裝JDK的目錄,比如我們的JDK安裝在c:\JDK_1.4.2\目錄下,那么在c:\JDK_1.4.2\bin目錄下就是我們常用的java應用程序,我們就需要把c:\JDK_1.4.2\bin這個目錄加到path環(huán)境變量里面。
    classpath環(huán)境變量,是當我們在開發(fā)java程序時需要引用別人寫好的類時,要讓java解釋器知道到哪里去找這個類。通常,sun為我們提供了一些額外的豐富的類包,一個是dt.jar,一個是tools.jar,這兩個jar包都位于c:\JDK_1.4.2\lib目錄下,所以通常我們都會把這兩個jar包加到我們的classpath環(huán)境變量中set classpath=.;c:\JDK_1.4.2\lib\tools.jar;c:\JDK_1.4.2\lib\dt.jar。 注意對于jar包,在classpath中
    需要跟上完整地文件路徑,而不能僅僅跟一個目錄。第一個路徑的點“.”,代表當前目錄,這樣當我們運行java AClass
    的時候,系統(tǒng)就會先在當前目錄尋找AClass文件了。

    QUOTE:

    Windows下JAVA用到的環(huán)境變量主要有3個,JAVA_HOME、CLASSPATH、PATH。下面逐個分析。
    JAVA_HOME指向的是JDK的安裝路徑,如x:\JDK_1.4.2,在這路徑下你應該能夠找到bin、lib等目錄。值得一提的是,JDK的安裝路徑可以選擇任意磁盤目錄,不過建議你放的目錄層次淺一點,如果你放的目錄很深,比如x:\XXXXXX\xxxxx\XXXX\xxxx\XXXX\xxxx\XXXX\xxx……
    那么,下面的步驟和以后的應用你都要受累了,呵呵。設置方法:
    JAVA_HOME=x:\JDK_1.4.2  (注:這里是JDK文件夾的絕對路徑)
    PATH環(huán)境變量原來Windows里面就有,你只需修改一下,使他指向JDK的bin目錄,這樣你在控制臺下面編譯、執(zhí)行程序時就不需要再鍵入一大串路徑了。設置方法是保留原來的PATH的內(nèi)容,并在其中加上%JAVA_HOME%\bin(注,如果你對DOS批處理不了解,你可能不明白%%引起來的內(nèi)容是什么意思;其實這里是引用上一步設定好的環(huán)境變量JAVA_HOME,你寫成x:\JDK_1.4.2也是可以的;你可以打開一個控制臺窗口,輸入echo %JAVA_HOME%來看一下你的設置結果) :
    PATH=%JAVA_HOME%\bin;%PATH%
    注:是增加,絕對不可刪除原有的數(shù)據(jù),并用";"隔開你所加的路徑.
    同樣,%PATH%是引用以前你設置的PATH環(huán)境變量,你照抄以前的值就行了。
    CLASSPATH環(huán)境變量我放在最后面,是因為以后你出現(xiàn)的莫名其妙的怪問題80%以上都可能是由于CLASSPATH設置不對引起的,所以要加倍小心才行。
    CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar
    首先要注意的是最前面的".\;",如果你看不清,我給你念念——句點反斜杠分號。“. ”代表 命令提示符的當前目錄(它表示在當前目錄里尋找class。如果沒有這個點,那么CLASSPATH就不知道去那里尋找HelloWorld.class;把JDK中的lib子目錄,以及其下的tools.jar設置到CLASSPATH中,才可以在運行java程序時加載),這個是告訴JDK,搜索CLASS時先查找當前目錄的CLASS文件——為什么這樣搞,這是由于LINUX的安全機制引起的,LINUX用戶很明白,WINDOWS用戶就很難理解(因為WINDOWS默認的搜索順序是先搜索當前目錄的,再搜索系統(tǒng)目錄的,再搜索PATH環(huán)境變量設定的) ,所以如果喜歡盤根究底的朋友不妨研究一下LINUX。
    為什么CLASSPATH后面指定了tools.jar這個具體文件?不指定行不行?顯然不行,行的話我還能這么羅索嘛!
    這個是由java語言的import機制和jar機制決定的,你可以查資料解決。

    呵呵,具體的設定方法: win2k\xp用戶右鍵點擊我的電腦->屬性->高級->環(huán)境變量,修改下面系統(tǒng)變量那個框里的值就行了。
    win9x用戶修改autoexec.bat文件,在其末尾加入:
    set JAVA_HOME=x:\JDK_1.4.2
    set PATH=%JAVA_HOME%\bin;%PATH%
    set CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar

    就可以了。
    真正理解上面說的環(huán)境變量設置的意義后,就可以任意設置啦:
    如果你的jdk目錄為f:\jdk,那么就新建一個變量JAVA_HOME,值為f:\jdk,classpath前面添加.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
    如果你想用自己的java包,而那些包放在d:\mypackage文件夾中,那么你可以在classpath后添加;d:\mypackage

    QUOTE:

    …………
    問題終于解決了,原因其實很簡單:最近我也在學習XML,在學習XML的過程中曾經(jīng)安裝了一個用于查看XMl的軟件,而這個軟件在安裝的過程中,自己在我的用戶變量里設置了一個CLASSPATH變量!就是因為這個小東西害我花了這么長時間:(殺掉!(呵呵,殺掉它還有點不忍心,因為它是我學習XML的好工具?。?其實這可能是我的一個誤區(qū),以前設置CLASSPATH變量時只知道在系統(tǒng)變量中設置,不知道在用戶變量里設置的CLASSPATH變量也可以!于是將自己在系統(tǒng)變量中設置的CLASSPATH變量刪掉,全部設到用戶變量的CLASSPATH變量里!打開DOS測試一切通過!

    問題總結:或許這是我我們在學習JAVA過程中常常碰到問題,但在這里我要提醒大家的是,以后在設置CLASSPATH變量時,千萬要注意你以前安裝的軟件是不是自動更改了你的系統(tǒng)變量,如果是那么你在設置的時候就要注意拉,不要再犯我所犯的同樣錯誤(關鍵是浪費時間)!

    QUOTE:

    Java方面的軟件大部分是開放源碼的,而且多數(shù)是綠色軟件,只要解壓,設置一下環(huán)境變量即可使用。由于軟件本身升級比較頻繁,經(jīng)常需要重新設置使用的環(huán)境變量,而且可以同時安裝同一軟件的不同版本(甚至是相同版本)。如eclipse可分別在F, G,H三個盤上裝不同的版本,一個是中文版,一個是英文的Latest Release,一個是Stream Stable,反正是綠色安裝,也不會發(fā)生沖突,這樣通過對比便于了解和測試最新版本的先進之處。
    但是假如把JDK版本從1.3升級到1.4,即JDK目錄名可能要從“j2sdk1.3”改為“j2sdk1.4”,如果是這樣的話,那么eclipse 可能會無法再啟動了(它要從環(huán)境變量中尋找JAVA_HOME變量,而JAVA_HOME變量值已經(jīng)從“j2sdk1.3”改為“j2sdk1.4” 了)。
    再談談jakarta-tomcat,這個軟件升級比較頻繁,如果你是結合eclipse來使用Tomcat的,那么每次Tomcat升級,可能都要在eclipse中重新設置一下Tomcat的安裝目錄,是不是有些麻煩?
    對于此類問題,解決的方法很簡單,只要把默認的軟件安裝目錄名去掉版本號即可(如果擔心忘記版本號,只要在目錄中添加一個readme文件加以說明即可)。同樣,在環(huán)境變量設置中也不出現(xiàn)版本號,這樣,如果再需要升級軟件時,僅僅把新版軟件安裝在舊版軟件目錄即可。其它一般都不需要再改動了。
    另外,在環(huán)境變量設置中,可以用%變量%代替變量值,如Path變量值可以這樣設置:  %JAVA_HOME%\bin;%ANT_HOME%\bin;
    另外注意一點,上邊“**的用戶變量”是當前用戶的環(huán)境變量,只有當前用戶可用。下邊“系統(tǒng)變量”所有用戶都可以用。
    建議從http://java.sun.com下載其Java Documentation,這是Java幫助文檔。
    以上資料大多是從http://blog.csdn.net 的博客里找到并作了合理的編輯,感謝這些朋友們。
  • phyan (2006-12-31 02:57:24)

    在編寫源代碼時,很多地方不能隨意書寫,對初學者而言,以下地方要特別注意:
    1.中文和英文。
    在源代碼中,很少使用中文,可以使用的只有兩個地方:一是在輸出語句的引號中,二是在注釋中。
    2.大小寫敏感。
    Java源程序對大小寫是非常敏感的,改變大小寫將直接引起錯誤。
    3.括號。
    在Java源代碼中有三種括號,即小括號()、中括號[]和大括號{},三種括號適用于不同情況不能隨便替換,也不能與中文的符號相混淆。
    4.class文件名和相應類的名必須一致。如上面的HelloWorld必須使用HelloWorld.java作為文件名,而且大小寫要一致。不然運行java Helloworld會出現(xiàn)如下錯誤的:

    QUOTE:

    Exception in thread "main" java.lang.NoClassDefFoundError: Helloworld (wrong nam
    e: HelloWorld)
            at java.lang.ClassLoader.defineClass0(Native Method)
            at java.lang.ClassLoader.defineClass(Unknown Source)
            at java.security.SecureClassLoader.defineClass(Unknown Source)
            at java.net.URLClassLoader.defineClass(Unknown Source)
            at java.net.URLClassLoader.access$100(Unknown Source)
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    另外看到網(wǎng)上兩個比較好的問答:

    QUOTE:

    Q: Applet 怎樣運行?
    A: 主要有兩種方法
        1, JDK中的applet瀏覽器。
        2, IE瀏覽器
        這兩種方法都要將Applet嵌入到 HTML 文件中,如
        <applet code="MyApplet.class",width=200 height=150>
        </applet>
        保存在和源文件同目錄下,文件名為xxx.html,如果用JDK中
        的applet瀏覽器看,就在命令提示符下運行
        appletviewer xxx.heml
        用IE看直接雙擊 html 文件即可

    Q: 為什么用IE運行Applet時,顯示的就是一片空白
    A: IE本身并不支持Applet 的運行,要去 www.java.sun.com 下載一個插件(java plug_in)
    接下來開始數(shù)據(jù)類型學習了


    這個Light.java源程序是用來練習長整型(long)的整數(shù)類型的,如果把其中的一些變量由long類型改為整型(int),最后的運算結果要出錯的,所以一定要定義合適的數(shù)據(jù)類型。
    //Computer distance light travels using long variables.
    class Light{
            public static void main(String args[]){
                    int lightspeed;
                    long days;
                    long seconds;
                    long distance;

                    //approximate speed of light in miles per second
                    lightspeed = 186000;
                    days = 1000; //specify number of days here
                    seconds = days*24*60*60; //convert to seconds
                    distance = lightspeed*seconds; //compute distance
                    System.out.print("In "+days);
                    System.out.print(" days light will travel about ");
                    System.out.print(distance+" miles.");
            }
    }
    編譯后運行結果如下
    In 1000 days light will travel about 16070400000000 miles.
  • phyan (2007-1-01 22:22:43)

    下面的程序是用雙精度浮點型變量計算一個圓的面積:
    //Computer the area of a circle.
    class Area{
            public static void main(String args[]){
                    double pi,r,a;
                    r=10.8; //radius of circle
                    pi=3.1416;//pi, approxiately
                    a=pi*r*r;//compute area
                    System.out.println("Area of circle is "+a);
            }
    }
    執(zhí)行結果是:Area of circle is 366.436224
    這里做了兩點測試:
    1.public static void main(String args[]){語句中main和括號之間有無空格都沒問題,和行末的大括號之間有無空格也無所謂,接下來的語句中等號、乘號及句末分號前后空格有無也不影響程序執(zhí)行。總結如下,java對程序代碼中的空格不敏感。
    2.類的名稱把首字母大寫改為小寫也可以;編譯產(chǎn)生的擴展名為class的文件名和程序中的類名是嚴格一致的。無論文件名是Area.java或area.java,javac area.java和javac Area.java均可以正確編譯,但是java Area.java和java area.java是不一樣的,這個一定要嚴格和xxxx.class一致,否則要出錯。如果不一致會產(chǎn)生如下錯誤信息:
    Exception in thread "main" java.lang.NoClassDefFoundError: area (wrong name: Area)
            at java.lang.ClassLoader.defineClass0(Native Method)
            at java.lang.ClassLoader.defineClass(Unknown Source)
            at java.security.SecureClassLoader.defineClass(Unknown Source)
            at java.net.URLClassLoader.defineClass(Unknown Source)
            at java.net.URLClassLoader.access$100(Unknown Source)
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClassInternal(Unknown Source)
  • phyan (2007-4-11 09:30:48)

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Java環(huán)境變量的詳細說明
JDK環(huán)境變量配置
windows系統(tǒng)下JDK1.6環(huán)境變量配置
linux
linux中如何配置jdk 環(huán)境變量
J2EE開發(fā)環(huán)境搭建(寶貝啊)
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服