【Groovy】循环控制 ( Java 语法循环 | 默认的 IntRange 构造函数 | 可设置翻转属性的 IntRange 构造函数 | 可设置是否包含 to 的构造函数 | 0..9 简写 )
2023-06-13 09:18:00 时间
文章目录
一、使用 Java 语法循环
在 Groovy 中 , 使用 Java 语法进行循环 :
// Java 语法样式的循环
println ""
print "( 1 ) : "
for (int j = 0; j <= 9; j++) {
print j + " "
}
打印结果 :
( 1 ) : 0 1 2 3 4 5 6 7 8 9
二、使用 IntRange 循环
1、使用默认的 IntRange 构造函数
使用默认的 IntRange 实例对象控制循环 ;
构造函数 :
/**
* 创建一个新的非包容性<code>IntRange</code>。如果 from <code>大于
* <code>to</code>,将创建一个反向范围,并将<code>from</code>和<code>to</code> 进行交换。
*
* @param from 范围中的第一个数字开始。
* @param to 范围内的最后一个数字。
* 如果范围包含的值超过{@link Integer#MAX_VALUE},则@throws会引发IllegalArgumentException。
*/
public IntRange(int from, int to)
循环示例代码 :
// Groovy 循环 , 0 ~ 9 进行循环
println ""
print "( 1 ) : "
for (i in new IntRange(0, 9)) {
print i + " "
}
执行结果 :
( 1 ) : 0 1 2 3 4 5 6 7 8 9
2、使用可设置翻转属性的 IntRange 构造函数
构造函数 :
/**
* Creates a new non-inclusive aware <code>IntRange</code>.
*
* @param from the first value in the range.
* @param to the last value in the range.
* @param reverse <code>true</code> if the range should count from
* <code>to</code> to <code>from</code>.
* @throws IllegalArgumentException if <code>from</code> is greater than <code>to</code>.
*/
protected IntRange(int from, int to, boolean reverse)
代码示例 :
// Groovy 循环 , 0 ~ 9 进行循环
println ""
print "( 2 ) : "
for (i in new IntRange(0, 9, false)) {
print i + " "
}
// Groovy 循环 , 9 ~ 0 进行循环
println ""
print "( 3 ) : "
for (i in new IntRange(0, 9, true)) {
print i + " "
}
执行结果 :
( 2 ) : 0 1 2 3 4 5 6 7 8 9
( 3 ) : 9 8 7 6 5 4 3 2 1 0
3、使用可设置是否包含 to 的 IntRange 构造函数
构造函数 :
/**
* Creates a new inclusive aware <code>IntRange</code>.
*
* @param from the first value in the range.
* @param to the last value in the range.
* @param inclusive <code>true</code> if the to value is included in the range.
*/
public IntRange(boolean inclusive, int from, int to)
代码示例 :
// Groovy 循环 , 0 ~ 9 进行循环 , 不包含最后一个 to 元素 , 即 9
// 只能打印出 0 ~ 8 的数字
println ""
print "( 4 ) : "
for (i in new IntRange(false, 0, 9)) {
print i + " "
}
// Groovy 循环 , 0 ~ 9 进行循环 , 包含最后一个 to 元素 , 即 9
// 只能打印出 0 ~ 9 的数字
println ""
print "( 5 ) : "
for (i in new IntRange(true, 0, 9)) {
print i + " "
}
执行结果 :
( 4 ) : 0 1 2 3 4 5 6 7 8
( 5 ) : 0 1 2 3 4 5 6 7 8 9
三、使用 0…9 简化方式的 IntRange 实例对象
0…9 的描述 , 相当于 new IntRange(0, 9) , 二者是等价的 ;
代码示例 :
// Groovy 循环 , 0 ~ 9 进行循环
println ""
print "( 6 ) : "
for (i in 0..9) {
print i + " "
}
// 其中 0..9 相当于 new IntRange(0, 9)
def range = 0..9
println ""
print "0..9 type : "
println range.class
执行结果 :
( 6 ) : 0 1 2 3 4 5 6 7 8 9
0..9 type : class groovy.lang.IntRange
四、完整代码示例
完整代码示例 :
class Test {
static void main(args) {
// Java 语法样式的循环
println ""
print "( 0 ) : "
for (int j = 0; j <= 9; j++) {
print j + " "
}
// Groovy 循环 , 0 ~ 9 进行循环
println ""
print "( 1 ) : "
for (i in new IntRange(0, 9)) {
print i + " "
}
// Groovy 循环 , 0 ~ 9 进行循环
println ""
print "( 2 ) : "
for (i in new IntRange(0, 9, false)) {
print i + " "
}
// Groovy 循环 , 9 ~ 0 进行循环
println ""
print "( 3 ) : "
for (i in new IntRange(0, 9, true)) {
print i + " "
}
// Groovy 循环 , 0 ~ 9 进行循环 , 不包含最后一个 to 元素 , 即 9
// 只能打印出 0 ~ 8 的数字
println ""
print "( 4 ) : "
for (i in new IntRange(false, 0, 9)) {
print i + " "
}
// Groovy 循环 , 0 ~ 9 进行循环 , 包含最后一个 to 元素 , 即 9
// 只能打印出 0 ~ 9 的数字
println ""
print "( 5 ) : "
for (i in new IntRange(true, 0, 9)) {
print i + " "
}
// Groovy 循环 , 0 ~ 9 进行循环
println ""
print "( 6 ) : "
for (i in 0..9) {
print i + " "
}
// 其中 0..9 相当于 new IntRange(0, 9)
def range = 0..9
println ""
print "0..9 type : "
println range.class
println ""
}
}
执行结果 :
( 0 ) : 0 1 2 3 4 5 6 7 8 9
( 1 ) : 0 1 2 3 4 5 6 7 8 9
( 2 ) : 0 1 2 3 4 5 6 7 8 9
( 3 ) : 9 8 7 6 5 4 3 2 1 0
( 4 ) : 0 1 2 3 4 5 6 7 8
( 5 ) : 0 1 2 3 4 5 6 7 8 9
( 6 ) : 0 1 2 3 4 5 6 7 8 9
0..9 type : class groovy.lang.IntRange
相关文章
- java数组定义长度_JAVA数组的定义
- MySQL字段类型如何转为java_Java JDBC中,MySQL字段类型到JAVA类型的转换
- java乘法代码_java九九乘法表代码[通俗易懂]
- 再来利用java学学javaweb——–html+css+ JavaScript[通俗易懂]
- Java递归写法_java递归调用
- java executeupdate_Java自学-JDBC execute与executeUpdate的区别
- JAVA遍历数组的三种方法_java遍历object数组
- Java SpringBoot下载文件超时
- 【Java】Best coding practices every java developer should
- 【Java 集合】Java 集合的线程安全性 ( 加锁同步 | java.utils 集合 | 集合属性 | java.util.concurrent 集合 | CopyOnWrite 机制 )
- 做 Java 工程师,挺!好!
- Java基础加强之反射详解编程语言
- Java学习笔记之五java数组详解编程语言
- Java经典实例:使用DateFormatter来格式化日期时间详解编程语言
- java进程 cpu100%问题排查详解编程语言
- 在Linux下搭建完美的Java开发环境(linux搭建java开发环境)
- 设置Java与Redis结合:设置过期时间(redisjava过期)
- 清理基于Redis与Java实现数据过期清除(redisjava过期)
- 使用Java远程控制Linux 实现简单、高效的服务器管理(java控制linux)
- 关于JAVA经典算法40题(超实用版)