溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Jython在語(yǔ)言特性是怎樣的

發(fā)布時(shí)間:2021-11-22 18:33:04 來(lái)源:億速云 閱讀:140 作者:柒染 欄目:編程語(yǔ)言

本篇文章給大家分享的是有關(guān)Jython在語(yǔ)言特性是怎樣的,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

Jython 是作為包含安裝程序的單個(gè) Java 類文件而發(fā)布的。只要下載 jython-21.class 并將該文件放在 CLASSPATH 內(nèi),然后運(yùn)行 java jython-21 。選擇您要安裝的組件(在示例中,我選擇了所有缺省組件),接受其許可證(這是開放源碼 BeOpen/CNRI 許可證)并指定安裝目錄,之后安裝程序會(huì)完成其余安裝。

如果安裝時(shí)碰到問(wèn)題,請(qǐng)參閱 Jython 網(wǎng)站上的安裝信息頁(yè)。對(duì)于 UNIX 平臺(tái),您可能想將選擇的 Jython 安裝路徑添加到 PATH 環(huán)境變量。做為Jython入門指導(dǎo),現(xiàn)在只要輸入“jython”就可以運(yùn)行交互式 PATH :

清單 1. 運(yùn)行 Jython shell

$ jython  Jython 2.1 on java1.4.0_01 (JIT: null)  Type "copyright", "credits" or "license" for more information.  >>>

>>> 提示符允許您輸入命令并立即獲得結(jié)果。在 Java 編程中,每個(gè)程序都必須至少定義一個(gè)類。清單 2 演示了一個(gè)完整的 Java 程序,它用于將一條消息寫到屏幕:

清單 2. 完整的 Java 程序

class App  {      public static void main(String args[])    {      System.out.println("I don't like spam!");    }  }

JPython 將這些行減少為:

清單 3. Jython 減少了 Java 代碼開銷

>>> print "I don't like spam!" I don't like spam!  >>>

print 關(guān)鍵字是重要的工具之一,特別是在交互式 shell 中,它會(huì)立即打印其參數(shù),并隨后向您返回 shell 提示符。不僅輸入和調(diào)試的代碼比較少,而且不必經(jīng)歷編譯/運(yùn)行周期就可以馬上獲得結(jié)果??梢砸淮未蛴《鄠€(gè)值,并象下面顯示的那樣輕松使用簡(jiǎn)單的表達(dá)式:

清單 4. print 是一個(gè)重要的 Jython 工具

>>> print "one plus one is", 1+1 one plus one is 2 >>>

Jython 表達(dá)式類似于 Java 表達(dá)式。 1+1 的結(jié)果是一個(gè)整數(shù),通過(guò) print 它被強(qiáng)制轉(zhuǎn)換成字符串,并被并置到由逗號(hào)定界符指定的初始字符串。

通過(guò)使用 Jython,您甚至不需要什么工具就可以訪問(wèn)標(biāo)準(zhǔn) Java 庫(kù)。以下示例訪問(wèn)了 java.util.Random :

清單 5. 通過(guò) Jython 訪問(wèn)標(biāo)準(zhǔn) Java 庫(kù)

>>> from java.util import Random  >>> rng = Random()  >>> i = rng.nextBoolean()  >>> print i  1 >>>

Jython 的 import 關(guān)鍵字與 Java 語(yǔ)言版本的相似之處在于它使一個(gè)模塊中的內(nèi)容可以為其它模塊所使用,但是語(yǔ)法和行為有所差別。

上面清單 5 中的示例使用了相關(guān)的 from 關(guān)鍵字以限制從 java.util 導(dǎo)入哪些符號(hào)。其后一行顯示了 Random 類實(shí)例的創(chuàng)建。正如您所看到的,不需要 new 關(guān)鍵字。

也不需要對(duì)保存新實(shí)例的變量進(jìn)行任何類型說(shuō)明。這強(qiáng)調(diào)了 Jython 的一個(gè)重要簡(jiǎn)化,而且這是其動(dòng)態(tài)本性的一個(gè)優(yōu)點(diǎn) ― 您不必再擔(dān)心數(shù)據(jù)類型定義了。

清單 5 中的下一行演示了方法調(diào)用,這與 Java 語(yǔ)言完全相同,只是沒(méi)有對(duì)結(jié)果進(jìn)行類型聲明。Java 代碼中的 nextBoolean() 是布爾值。Jython 2.1 沒(méi)有布爾類型(不過(guò)這可能會(huì)很快改變;Python 2.3 就添加了布爾類型),因此它替換為 0或 1這樣的整數(shù)。類似地,要調(diào)用希望使用布爾值的 Java 方法,就要傳遞滿足這些約束的整數(shù)值。

您也可以使用 import 關(guān)鍵字對(duì)導(dǎo)入的所有符號(hào)作全限定,如清單 6 所示:

清單 6. Import 對(duì)所有導(dǎo)入的符號(hào)名稱作了全限定

>>> import java.util.Random  >>> rng = java.util.Random()  >>> print rng.nextFloat()  0.9567907452583313 >>>

Jython 的浮點(diǎn)值與 Java 語(yǔ)言中的完全相同。

以上就是Jython在語(yǔ)言特性是怎樣的,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

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

AI