5、Groovy Math<o:p></o:p>
l Groovy支持访问所有的Java Math类和操作<o:p></o:p>
l 为了使math操作在脚本编写时尽可能直观,Groovy math模型支持文字化math操作<o:p></o:p>
l 缺省计算使用的是精确的小数(BigDecimal),如:<o:p></o:p>
1.1 + 0.1 == 1.2<o:p></o:p>
返回的是true,而不是false(不象在Java中使用float或double)<o:p></o:p>
(1)数字的文字表示<o:p></o:p>
l Groovy的小数文字表示是java.math.BigDecimal的实例,而不是浮点类型(Float或Double)<o:p></o:p>
l Float和Double可以使用后面讲的后缀(F和D)方法来创建<o:p></o:p>
l 小数的指数形式也支持,如12.3e-23<o:p></o:p>
l 十六进制和八进制也支持,十六进制前缀0x,八进制前缀0<o:p></o:p>
l 整数类型可以使用后面讲的后缀(I、L和G)方法来创建,如果不指定根据数值的大小使用合适的类型<o:p></o:p>
l 数字类型的后缀文字表示<o:p></o:p>
_Type_<o:p></o:p>
|
_Suffix_<o:p></o:p>
|
_BigInteger_<o:p></o:p>
|
G<o:p></o:p>
|
_Long_<o:p></o:p>
|
L<o:p></o:p>
|
_Integer_<o:p></o:p>
|
I<o:p></o:p>
|
_BigDecimal_<o:p></o:p>
|
(缺省)<o:p></o:p>
|
_Double_<o:p></o:p>
|
D<o:p></o:p>
|
_Float_<o:p></o:p>
|
F<o:p></o:p>
|
l 例子:<o:p></o:p>
assert 42I == new Integer("42");<o:p></o:p>
assert 123L == new Long("123");<o:p></o:p>
assert 2147483648 == new Long("2147483648"); //Long type used, value too large for an Integer<o:p></o:p>
assert 456G == new java.math.BigInteger("456");<o:p></o:p>
assert 123.45 == new java.math.BigDecimal("123.45"); //default BigDecimal type used<o:p></o:p>
assert 1.200065D == new Double("1.200065");<o:p></o:p>
assert 1.234F == new Float("1.234");<o:p></o:p>
assert 1.23E23D == new Double("1.23E23");<o:p></o:p>
(2)Math操作<o:p></o:p>
l Groovy的Math实现很接近Java 1.5 BigDecimal Math模型的实践<o:p></o:p>
l Java.lang.Number包括其子类的二元操作(除了除法)会根据下表自动转换参数类型<o:p></o:p>
<o:p></o:p>
|
_BigDecimal_<o:p></o:p>
|
_BigInteger_<o:p></o:p>
|
_Double_<o:p></o:p>
|
_Float_<o:p></o:p>
|
_Long_<o:p></o:p>
|
_Integer_<o:p></o:p>
|
_BigDecimal_<o:p></o:p>
|
BigDecimal<o:p></o:p>
|
BigDecimal<o:p></o:p>
|
Double<o:p></o:p>
|
Double<o:p></o:p>
|
|
BigDecimal<o:p></o:p>
|
_BigInteger_<o:p></o:p>
|
BigDecimal<o:p></o:p>
|
BigInteger<o:p></o:p>
|
Double<o:p></o:p>
|
Double<o:p></o:p>
|
BigInteger<o:p></o:p>
|
BigInteger<o:p></o:p>
|
_Double_<o:p></o:p>
|
Double<o:p></o:p>
|
Double<o:p></o:p>
|
Double<o:p></o:p>
|
Double<o:p></o:p>
|
Double<o:p></o:p>
|
Double<o:p></o:p>
|
_Float_<o:p></o:p>
|
Double<o:p></o:p>
|
Double<o:p></o:p>
|
Double<o:p></o:p>
|
Double<o:p></o:p>
|
Double<o:p></o:p>
|
Double<o:p></o:p>
|
_Long_<o:p></o:p>
|
BigDecimal<o:p></o:p>
|
BigInteger<o:p></o:p>
|
Double<o:p></o:p>
|
Double<o:p></o:p>
|
Long<o:p></o:p>
|
相关推荐
### Groovy用户指南知识点解析 #### 一、Groovy与Java类定义的相似性与差异 **相似性:** - Groovy的类定义语法与Java非常相似,支持类方法(static)和实例方法。 - 类成员可以有public、protected、private访问...
### Groovy用户指南知识点解析 #### 一、Groovy简介 Groovy是一种灵活的面向对象编程语言,它为Java平台提供了强大的脚本能力,并且能够与现有的Java代码无缝集成。Groovy不仅支持传统的面向对象编程特性,还支持...
### Groovy 入门指南知识点解析 #### 一、Groovy与Grails简介 - **Groovy**: 是一种运行在Java平台上的灵活的面向对象编程语言。Groovy的设计旨在提高开发者的生产力,它具备简洁的语法,同时兼容现有的Java代码和...
2. **groovy用户指南.doc** - 这个指南可能是更深入的学习资源,涵盖了Groovy的高级特性。这可能包括闭包(Closure)的使用,元编程(Metaprogramming)的概念,GroovyShell和GroovyConsole的使用,以及如何利用...
5. `grails-app/conf`:配置文件,如 `application.properties` 和 `grails-app/conf/Config.groovy`。 6. `test` 目录:存放单元测试和集成测试。 案例: 一个简单的 Grails 应用可能包括一个用户管理模块。在 `...
- **模块**:介绍如何使用Groovy的各种模块,如用户指南、高级用法指南等。 - **FAQ**:常见问题解答部分涵盖了开发者可能遇到的问题及其解决方案。 - **测试指南**:详细介绍如何使用Groovy进行单元测试、集成测试...
- `docs`:文档,包括API参考和用户指南,帮助开发者了解Groovy的特性和用法。 - `lib`:库文件,包含Groovy运行时环境所需的JAR文件,可能包括核心库、标准库和其他依赖项。 - `src`:源代码,开发者可以查看Groovy...
- **文档**:可能包括API文档、用户指南和开发者参考,帮助开发者了解和使用该版本的Groovy。 - **示例代码**:可能包含一些示例脚本来展示Groovy的特性和用法。 - **源代码**:虽然名为“binary”,但有时也会包含...
- **docs**:可能有API文档和用户指南。 - **src**:可能包含Groovy源码,供开发者参考学习。 - **conf**:可能包含配置文件,如Groovy的类路径设置。 - **examples**:可能包含示例代码,帮助用户快速上手。 使用...
2. **docs** 目录:存放Groovy的API文档和用户指南,提供了详细的语言参考和示例,对学习和使用Groovy很有帮助。 3. **lib** 目录:包含了Groovy运行时所需的JAR文件,包括Groovy核心库、标准库以及与其他库(如Ant...
文档通常包括API参考、用户指南、教程以及开发者信息,这些都是理解和学习Groovy的关键资源。以下是一些关于Groovy 1.8.9的知识点: 1. **动态类型**:Groovy支持静态和动态类型,动态类型使得代码更简洁,编写速度...
总结,"Grails-开源框架---使用指南.pdf"和"Groovy入门经典(中文).pdf"这两本书将帮助读者深入理解Grails框架和Groovy语言,从而更好地开发基于JVM的现代Web应用程序。通过学习这两本书,开发者可以掌握如何利用...
5. **编译 Groovy (Compiling Groovy)** - **内容:** 介绍了如何将 Groovy 脚本编译为 Java 字节码。 - **适用场景:** 在生产环境中部署 Groovy 代码。 6. **使用 Maven 2 编译 (Compiling With Maven 2)** - ...
### Groovy DSL:基于领域的特定语言开发指南 #### Groovy简介 Groovy是一种基于Java平台的灵活、强大的脚本语言,它与Java高度兼容,能够直接调用Java库中的类和方法,反之亦然。这种无缝集成使得Groovy成为一种极...
- 文档:包括API文档和用户指南,帮助开发者了解和使用Groovy。 - 示例代码:展示Groovy的基本用法和特性。 通过解压"groovy-binary-1.8.9.zip",你可以安装并配置Groovy环境,然后利用这个强大的语言进行开发。...
5. **文档和示例**:SDK通常会包含一份详尽的用户指南、API文档和教程,帮助新用户快速上手。这些文档会解释Groovy的基本语法、特性以及如何与其他Java技术(如Spring框架)集成。 6. **源代码**:对于开发者来说,...
5. **groovy用户指南**:这份文档可能是一个详细的用户手册,包含了Groovy的安装步骤、环境配置、开发工具的选择和使用,以及日常开发中可能遇到的问题和解决方案。 6. **wiki-snapshot.pdf**:这可能是一个Groovy...
这本用户指南还并不完善, 就像 Gradle 一样还在开发当中. 在这本指南中, Gradle 的一些功能并没有被完整的展示出来. 一些内容的解释也并不是十分的清楚, 或者假设关于 Gradle 你知道得更多. 我们需要你的帮助来完善...
9. **启动指南**:`start step by step.txt`和`roadmap.txt`可能是项目启动和进阶教程,指导用户逐步搭建和扩展Webx应用。 10. **库和资源**:`lib2`目录可能包含了框架所需的第三方库,而`src`目录则包含了框架的...