Len's Study-Log

集中一点,登峰造极!

0%

Groovy随笔

  • 在给变量赋值是才会决定一个变量的类型

  • 类型之间会自动转换。(String -> Int -> Integer)

  • 可以把不同的基本类型放到同一数组中

  • 闭包就是可以使用参数的代码片段

  • Groovy 不需要通过setter、getter引用类成员,那用什么?

  • 不需要声明构造函数,只有两个构造函数,(1个不带参数的默认构造函数,1个只带一个map参数的构造函数—由于是map类型,通过这个参数可以构造对象时任意初始化它的成员变量)

  • 方法调用可以省略(),构造函数除外

  • Groovy 默认导入的库:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    import java.lang.* 
    import java.util.*
    import java.io.*
    import java.net.*

    import groovy.lang.*
    import groovy.util.*

    import java.math.BigInteger
    import java.math.BigDecimal
  • Groovy 的关键词:

    | as | assert | break | case |
    | ——— | ———- | ————— | ————— |
    | catch | class | const | continue |
    | def | default | do | else |
    | enum | extends | false | Finally |
    | for | goto | if | implements |
    | import | in | instanceof | interface |
    | new | pull | package | return |
    | super | switch | this | throw |
    | throws | trait | true | try |
    | while | | | |

  • 范围运算符:..

    1
    2
    3
    4
    5
    6
    7
    class Example { 
    static void main(String[] args) {
    def range = 5..10;
    println(range);
    println(range.get(2));
    }
    }
  • 运算符优先级

    下表按优先级顺序列出了所有groovy运算符

    | 运算符 | 名称 |
    | —————————————————————————— | ———————————- |
    | ++ - + - | 预增/减,一元加,一元减 |
    | / % | 乘法,除法,取模 |
    | + - | 加法,减法 |
    | ==!= <=> | 等于,不等于,比较 |
    | & | 二进制/位运算符与 |
    | ^ | 二进制/位异或 |
    | | | 二进制/按位或 |
    | && | 逻辑和 |
    | || | 逻辑或 |
    | = ** =
    = / =%= + = - = << = >> = >>> = = ^ = | = | 各种赋值运算符 |

  • 默认参数

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    class Example { 
    static void sum(int a,int b = 5) {
    int c = a+b;
    println(c);
    }

    static void main(String[] args) {
    sum(6);
    }
    }

    上述方法的输出将为值 11。

    如果使用非默认和默认参数,则必须注意,默认参数应在参数列表的末尾定义。