首頁  >  文章  >  Java  >  java是動態語言還是靜態語言?

java是動態語言還是靜態語言?

青灯夜游
青灯夜游原創
2020-12-03 15:41:437488瀏覽

java是靜態語言,Java是在編譯時期確定的變數類型且在運行時期不能改變,在類型轉換方面也是強制的,例如大範圍整數類型轉換為小範圍整數類型時必須要強轉,如int必須強制轉換才能得到小範圍型別byte;所以Java是靜態、強型別語言。

java是動態語言還是靜態語言?

本文操作環境:Windows7系統,Dell G3電腦。

推薦學習:《程式設計影片課程

Java到底是動態語言還是靜態語言,是強型別還是弱型別呢?雖然知道但還不夠深入,接下來就一起探討下。

圖示

剛好看到一張圖,完美的區分了以上的問題,如下圖所示:

java是動態語言還是靜態語言?

如圖所示,Java是強型別語言,靜態型別。下面解釋下為什麼。

解釋

1、靜態型別語言:變數定義時有型別宣告的語言。

(1)變數的型別在編譯的時候決定

(2)變數的型別在執行時不能修改

這樣編譯器就可以決定執行時間所需的記憶體總量。
例如:C、Scala、Java、F#語言是靜態型別語言。

2、動態型別語言:變數定義時無型別宣告的語言。

(1)變數的類型在運行的時候決定

(2)變數的型別在執行可以修改

例如:python、Javascript、Ruby語言是動態類型語言。

3、強型別定義語言

強制資料型別定義的語言。也就是說,一旦變數被指定了某個資料類型,如果不經過強制轉換,那麼它就永遠是這個資料類型了。舉個例子:如果你定義了一個整數變數a,那麼程式根本不可能將a當作字串類型處理。強型別定義語言是型別安全的語言。

4、弱型別定義語言

資料型別可以被忽略的語言。它與強型別定義語言相反, 一個變數可以賦能不同資料型別的值。強型別定義語言在速度上可能略遜色於弱型別定義語言,但是強型別定義語言帶來的嚴謹性能有效的避免許多錯誤。

綜上所述:

Java是在編譯時期確定的變數類型且在運行時期不能改變,在類型轉換方面也是強制的,例如大範圍整數型別轉換為小範圍整數型別時必須要強轉,如int 必須強制轉換才能得到小範圍型別byte。所以Java是靜態、強型別語言。

想要查閱更多相關文章,請造訪PHP中文網! !

以上是java是動態語言還是靜態語言?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn