溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java jdk如何正確編譯運行

發(fā)布時間:2022-01-10 09:23:08 來源:億速云 閱讀:243 作者:iii 欄目:編程語言

這篇文章主要介紹“Java jdk如何正確編譯運行”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Java jdk如何正確編譯運行”文章能幫助大家解決問題。

一般來說安裝完jdk之后,一定要按一下步驟配置,才可正確編譯運行
(假定jdk版本為1.4.0)
1.將jdk1.4.0-安裝在自己機器的某個盤符的根目錄下,如:可安裝在C:jdk下。
***(以下出現(xiàn)的c:jdk改為你自己安裝JDK的目錄)***
2.如果你的運行環(huán)境是win98,則在C盤根目錄下,autoexec.bat文件中,加入下面兩條語句:
set Path=%PATH%;c:jdkbin
set CLASSPATH=.;c:jdklibdt.jar;c:jdklibtools.jar
保存后,重新啟動機器,就完成了jdk1.4的安裝。
3.如果你的運行環(huán)境是win2000的話,則需在“控制面板”的“系統(tǒng)”下,“高級”選項的“環(huán)境變量”中,添加兩個用戶變量。
其中一個用戶變量的名稱為“path”,值為“.;d:j2sdk1.4.0_01bin”,
另一個用戶變量的名稱為"CLASSPATH",值為“.;d"j2sdk1.4.0_01libdt.jar;d:j2sdk1.4.0_01libtools.jar”,單擊“確定”即可。即完成了jdk1.4.0的安裝。

至于這樣做的意義何在,我想應該是讓Java系統(tǒng)在編譯字節(jié)代碼(.java)的時候需要一個什么東東的支持,如果你不告訴它這個東東放在哪個地方的話,它就犯傻了?!

看到屏幕上終于顯示出Hello world對我來說意義重大.這是我近一年來寫的第一個程序!再次踏上程序之路,簡直有恍如隔世的感覺,已經(jīng)快找不準我的位置了.還好原來學的一些關(guān)于C++和面向?qū)ο蟮钠っ珱]忘光光,所以費點周折熟悉了JDK的環(huán)境之后,接下來的事情就好辦多了,心里也踏實多了.

用String類直接定義字符串變量比起C中討厭的指針,感覺確實好的多,用慣了object Pascal的我,如果再回去數(shù)* *,真要瘋掉不可.

數(shù)組的定義和C,C++好像略有不同,記不清了,先記下來再說

int[] number=new int[5]
String[] message=new String[5]

變量這一部分想起來要交待的也就這么多吧。雖然是菜鳥,但我也知道,總是如譚浩強般在語法上面死摳的人簡直是白癡:大多數(shù)情況下,漂亮的程序根本不需要無謂的點綴,工工整整,思路清晰就可以了.
倒是對于Java程序的框架我倒想備忘一下,一個簡單的java程序好像是應該是這樣的框架

class ProgramName
{
  public static void main(String[] args)
  {
  file://程序的主體
  }

  public static int othermethod()
  {
  file://其它方法
  }
}

整個程序在一個大的類中,這個類的概念應該就跟pascal里面的單元差不多的。同pascal一樣,文件名也要與單元名-在這里是類名-一樣.Java對大小寫要求的非常嚴格,我語法錯了好幾次都是因為這個.
Java程序就是由一個或者多個或者很多個方法在這樣一個大類當中組成的.
在如上的代碼中,定義方法的參數(shù)表示的意思分別為:

public表示此成員函數(shù)是公有的,可以被其他類直接調(diào)用

static表示main成員函數(shù)在ProgramName類的所有對象中是唯一的,Java將為其分配永久存儲空間

(1月17日)關(guān)于Static,我想再延伸一下。有時候我們創(chuàng)建一個類,希望這個類的所有實例都公用一個變量,也就是說,所有這個類的對象都只有實例變量的一個Copy.那么這樣一個靜態(tài)實例變量的內(nèi)存就不能在創(chuàng)建類的實例的時候分配了,因為大家用的都是這么一個,不需要再重新分配.因此Java為其分配永久存儲空間。
比如:
  class Block{
  static int number=50
  }
這樣定義之后,所有Block類的實例,不管是Block1,還是Block2,它們都訪問同一個number.這個number叫做類的變量,而不是實例變量.實際上靜態(tài)變量又叫做類變量。

(1月17日)繼續(xù)深入.用Static定義的靜態(tài)成員函數(shù)或者靜態(tài)變量,可以通過其所屬類名來直接調(diào)用.為什么可以這樣?因為既然這個類的所有對象都是使用的這一個變量,那么理所當然我不需要去從其中的任何一個對象去引用它,而只是通過類名引用就可以了嘛.這樣不是可以方便的實現(xiàn)一些全局函數(shù)和全局變量嗎?把所有全局的函數(shù)或者全局的變量都定義在一個靜態(tài)類中,調(diào)用的時候直接通過這一個類名就可以方便的訪問所有的全局變量和全局函數(shù)了.

(1月20日)定義所有程序都要訪問的全局變量需要使用
public final static

另外碰到一個初學者經(jīng)常會遇到的問題
non-static variable mainframe cannot be referenced from a static context
即在靜態(tài)方法中不能引用非靜態(tài)變量
為什么?
因為我們知道靜態(tài)的方法可以在沒有創(chuàng)建實例時使用,而申明為非靜態(tài)的成員變量是一個對象屬性,它只有在對象存在時引用,因此如果在對象未創(chuàng)建實例時我們在靜態(tài)方法中調(diào)用了非靜態(tài)成員方法自然是非法的,所以編譯器會在這種時候給各錯誤.

簡單說來,靜態(tài)方法可以不用創(chuàng)建對象就調(diào)用,非靜態(tài)方法必須有了對象的實例才能調(diào)用.因此想在靜態(tài)方法中引用非靜態(tài)方法是不可能的,因為它究竟引用的是哪個對象的非靜態(tài)方法呢?編譯器不可能給出答案,因為沒有對象啊,所以要報錯.

最后我們看看Think in Java里面的精辟闡述,這個問題我想就非常非常的清楚了

2.6.3 static關(guān)鍵字
通常,我們創(chuàng)建類時會指出那個類的對象的外觀與行為。除非用new創(chuàng)建那個類的一個對象,否則實際上并未得到任何東西。只有執(zhí)行了new后,才會正式生成數(shù)據(jù)存儲空間,并可使用相應的方法。
但在兩種特殊的情形下,上述方法并不堪用。一種情形是只想用一個存儲區(qū)域來保存一個特定的數(shù)據(jù)——無論要創(chuàng)建多少個對象,甚至根本不創(chuàng)建對象。另一種情形是我們需要一個特殊的方法,它沒有與這個類的任何對象關(guān)聯(lián)。也就是說,即使沒有創(chuàng)建對象,也需要一個能調(diào)用的方法。為滿足這兩方面的要求,可使用static(靜態(tài))關(guān)鍵字。一旦將什么東西設為static,數(shù)據(jù)或方法就不會同那個類的任何對象實例聯(lián)系到一起。所以盡管從未創(chuàng)建那個類的一個對象,仍能調(diào)用一個static方法,或訪問一些static數(shù)據(jù)。而在這之前,對于非static數(shù)據(jù)和方法,我們必須創(chuàng)建一個對象,并用那個對象訪問數(shù)據(jù)或方法。這是由于非static數(shù)據(jù)和方法必須知道它們操作的具體對象。當然,在正式使用前,由于static方法不需要創(chuàng)建任何對象,所以它們不可簡單地調(diào)用其他那些成員,同時不引用一個已命名的對象,從而直接訪問非static成員或方法(因為非static成員和方法必須同一個特定的對象關(guān)聯(lián)到一起)。

Whoops!現(xiàn)在應該回到主干上來了

void 表示方法返回的值的類型為空。如果返回特定的類型的話,則該方法實際上就是函數(shù),否則就是一個過程而已.

關(guān)于“Java jdk如何正確編譯運行”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI