博客
关于我
Groovy In Action 笔记 (3) -- 基本数据类型
阅读量:619 次
发布时间:2019-03-13

本文共 1635 字,大约阅读时间需要 5 分钟。

Groovy中所有类型均为引用类型。即使是Java中的8种Primitive Type,groovy中背后使用的都是对应的包装类。没有boxing,unboxing操作.

一下为一些基本类型操作

//Integerdef age = 10println("age++ " + (age++)) // age++ 10, 先输出,再自增assert age == 11println("++age " + (++age)) // ++age 12,先自增,再输出assert age == 12assert 12.toString() == age.toString() // 可直接对常量使用方法assert 12.8.toInteger() == 12 // 可直接对常量使用方法//floatdef weight_f = 1.2fdef weight_F = 1.2Fassert weight_f.class.name == Float.nameassert weight_F.class.name == Float.name//doubledef weight_d = 1.2ddef weight_D = 1.2Dassert weight_d.class.name == Double.nameassert weight_D.class.name == Double.name//longdef meter_l = 1000Lassert meter_l.class.name == Long.name//bigIntegerdef universe_age_g = 1000Gassert universe_age_g.class.name == BigInteger.name//bigDecimaldef decimal_default = 1.2  ///注意默认为 bigDecimal类型,和Java不同def decimal_b= 1.2gassert decimal_default.class.name == BigDecimal.nameassert decimal_b.class.name == BigDecimal.name// operatorsdef compare_a = 20def compare_b = 10assert compare_a > compare_bassert compare_b < compare_aassert (compare_a <=> compare_b) == 1  // <=> 相当于 compareTo函数assert 5 / 2 == 2.5 //默认bigDecimalassert 3 % 2 == 1 //取余数 a.mod(b)assert 5.intdiv(2) == 2 //整除assert compare_a >> 2 == 5 //右移两位,相当于除以4assert compare_a << 2 == 80 //左移两位,相当于乘以4//动态数据类型变化 --- Groovy中所有类型均为 引用类型。 即使是Java中的8种Primitive Type,groovy中背后使用的都是对应的包装类。没有boxing,unboxing操作def type_variant = 100assert type_variant.class.name == Integer.nametype_variant = 100fassert type_variant.class.name == Float.nametype_variant = 100dassert type_variant.class.name == Double.nametype_variant = "STRING"assert type_variant.class.name == String.name

 

转载地址:http://napaz.baihongyu.com/

你可能感兴趣的文章
Mysql8.0的特性
查看>>
MySQL8修改密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
查看>>
MySQL8修改密码的方法
查看>>
Mysql8在Centos上安装后忘记root密码如何重新设置
查看>>
Mysql8在Windows上离线安装时忘记root密码
查看>>
MySQL8找不到my.ini配置文件以及报sql_mode=only_full_group_by解决方案
查看>>
mysql8的安装与卸载
查看>>
MySQL8,体验不一样的安装方式!
查看>>
MySQL: Host '127.0.0.1' is not allowed to connect to this MySQL server
查看>>
Mysql: 对换(替换)两条记录的同一个字段值
查看>>
mysql:Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock‘解决方法
查看>>
MYSQL:基础——3N范式的表结构设计
查看>>
MYSQL:基础——触发器
查看>>
Mysql:连接报错“closing inbound before receiving peer‘s close_notify”
查看>>
mysqlbinlog报错unknown variable ‘default-character-set=utf8mb4‘
查看>>
mysqldump 参数--lock-tables浅析
查看>>
mysqldump 导出中文乱码
查看>>
mysqldump 导出数据库中每张表的前n条
查看>>
mysqldump: Got error: 1044: Access denied for user ‘xx’@’xx’ to database ‘xx’ when using LOCK TABLES
查看>>
Mysqldump参数大全(参数来源于mysql5.5.19源码)
查看>>