Groovy 數(shù)字

2023-09-07 14:12 更新

在 Groovy 中,數(shù)字實(shí)際上表示為對(duì)象,它們都是類(lèi) Integer 的一個(gè)實(shí)例。要使對(duì)象做某事,我們需要調(diào)用在其類(lèi)中聲明的一個(gè)方法。

Groovy 支持整數(shù)和浮點(diǎn)數(shù)。

  • 整數(shù)是不包含分?jǐn)?shù)的值。
  • 浮點(diǎn)數(shù)是包含小數(shù)部分的十進(jìn)制值。

Groovy 中的數(shù)字示例如下所示 -

Integer x = 5; 
Float y = 1.25; 

其中 x 是整數(shù)類(lèi)型,y 是浮點(diǎn)數(shù)。

Groovy 中的數(shù)字被定義為對(duì)象的原因通常是因?yàn)榇嬖趯?duì)數(shù)字執(zhí)行操作的要求。在原始類(lèi)型上提供類(lèi)的概念被稱(chēng)為包裝類(lèi)。

默認(rèn)情況下,Groovy 中提供了以下包裝程序類(lèi)。

包裝類(lèi)

包裝類(lèi)的對(duì)象包含或包裝其各自的基本數(shù)據(jù)類(lèi)型。將原始數(shù)據(jù)類(lèi)型轉(zhuǎn)換為對(duì)象的過(guò)程稱(chēng)為裝箱,這由編譯器負(fù)責(zé)。將對(duì)象轉(zhuǎn)換回其對(duì)應(yīng)的基本類(lèi)型的過(guò)程稱(chēng)為取消裝箱。

例子

以下是裝箱和拆箱的例子 

class Example { 
   static void main(String[] args) {
      Integer x = 5,y = 10,z = 0; 
		
      // The the values of 5,10 and 0 are boxed into Integer types 
      // The values of x and y are unboxed and the addition is performed 
      z = x+y; 
      println(z);
   }
}

上述程序的輸出將為 15.在上述示例中,5,10 和 0 的值相應(yīng)地首先嵌入到整數(shù)變量 x,y 和 z 中。上述程序的輸出將是15。然后,當(dāng)執(zhí)行 x 和 y 的添加時(shí),值從其整數(shù)類(lèi)型取消裝箱。

數(shù)字方法

由于 Groovy 中的 Numbers 表示為類(lèi),以下是可用的方法列表。

序號(hào)方法和描述
1xxxValue()

此方法接受 Number 作為參數(shù),并基于調(diào)用的方法返回基本類(lèi)型。

2compareTo()

compareTo 方法是使用比較一個(gè)數(shù)字與另一個(gè)數(shù)字。如果要比較數(shù)字的值,這是有用的。

3equals()

該方法確定調(diào)用方法的 Number 對(duì)象是否等于作為參數(shù)傳遞的對(duì)象。

4valueOf()

valueOf 方法返回保存所傳遞的參數(shù)的值的相關(guān) Number 對(duì)象。

5toString()

該方法用于獲取表示 Number 對(duì)象的值的 String 對(duì)象。

6parseInt()

此方法用于獲取某個(gè) String 的原始數(shù)據(jù)類(lèi)型。 parseXxx()是一個(gè)靜態(tài)方法,可以有一個(gè)參數(shù)或兩個(gè)參數(shù)。

7abs()

該方法給出了參數(shù)的絕對(duì)值。參數(shù)可以是 int,float,long,double,short,byte。

8ceil()

方法 ceil 給出大于或等于參數(shù)的最小整數(shù)。

9floor()

方法 floor 給出小于或等于參數(shù)的最大整數(shù)。

10rint()

方法 rint 返回值最接近參數(shù)的整數(shù)。

11round()

方法 round 返回最接近的 long 或 int,由方法返回類(lèi)型給出。

12min()

該方法給出兩個(gè)參數(shù)中較小的一個(gè)。參數(shù)可以是 int,float,long,double。

13max()

該方法給出了兩個(gè)參數(shù)的最大值。參數(shù)可以是 int,float,long,double。

14exp()

該方法返回自然對(duì)數(shù)e的底數(shù)為參數(shù)的冪。

15log()

該方法返回參數(shù)的自然對(duì)數(shù)。

16pow()

該方法返回第一個(gè)參數(shù)的值增加到第二個(gè)參數(shù)的冪。

17sqrt()

該方法返回參數(shù)的平方根。

18sin()

該方法返回指定 double 值的正弦值。

19cos()

該方法返回指定 double 值的余弦值。

20tan()

該方法返回指定 double 值的正切值。

21asin()

該方法返回指定 double 值的反正弦值。

22acos()

該方法返回指定 double 值的反余弦值。

23atan()

該方法返回指定 double 值的反正切。

24atan2()

該方法將直角坐標(biāo)(x,y)轉(zhuǎn)換為極坐標(biāo)(r,theta),并返回theta。

25toDegrees()

該方法將參數(shù)值轉(zhuǎn)換為度。

26toRadians()

該方法將參數(shù)值轉(zhuǎn)換為弧度。

27random()

該方法用于生成介于0.0和1.0之間的隨機(jī)數(shù)。范圍是:0.0 = <Math.random <1.0。通過(guò)使用算術(shù)可以實(shí)現(xiàn)不同的范圍。


以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)