zoukankan      html  css  js  c++  java
  • GString及IntelliJIdea中调试Groovy的操作步骤

    今天是学习Groovy的第一天,首先我觉得学习任何一种语言都要先弄清楚这种语言的特性,因为只有了解了特性之后学习才能达到好的效果,那么groovy的特点是什么的。我觉得groovy是一种动态语言,动态主要体现在MOP也就是元对象协议,还有就是groovy也需要运行在jvm上。groovy的学习成本也不高,如果java基础比较好快速上手是没问题的,还有一些其他的特点,大家去查阅资料,这次要分享的是GString以及字符串的操作

    1.groovy的字符串

    Java里有String,Groovy里新加了GString。Groovy的语法是,如果用单引号括起来的就是String,如果是双引号括起来的就是GString。所以Groovy不能直接定义原来Java里的char了。

    String

    String s = 'This is a String'

    GString 

    GString s = "This is a GString"

    两种方式定义出来的实例类型是不一样的。当然GString不是这么简单的,GString的强大之处在于它可以作为模板使用

    String name = 'count'  
    int value1 = 23  
    int value2 = 22  
    GString s = "The value of $name is ${value1+value2}"   
    println s 

    最终的输出是: The value of count is 55

    倒数第二行,里面有关键字符 $, $即代表去引用上下文中的变量值,而${}中间不仅可以引用变量值,还可以加上一些运算,作为一个表达式
    最后一行这是把GString转换成String,再输出。
    String是常量,但是GString是变量,准确的说,在GString中的$仅仅是作为一个模板的占位符存在,GString会保存对那个对象的引用,如果引用的对象值发生改变,GString的值也就跟着改变。
    需要注意的是,Map里面String和GString就算最终生成的String值一样,但是还是当作两个key存在的。很容易理解,但是很容易犯的错误,比如手误把单引号写成了双引号等等都会引起这个错误。
    http://blog.csdn.net/yanical/article/details/7163138

    学习groovy还应该清楚,groovy是一种弱类型语言,所有的变量都可以看成对象,规范的写法是变量之前应该有def修饰并且groovy不强制程序末尾的分号,写不写都可以
    如果要定义一个字符串可以这样写:

    def str1="编程语言"
    def str2="Groovy"
    如果没有什么限制的话,写成单引号也是可以的。但是要明确一点就是单引号和双引号是有区别的
    def str1="编程语言"
    def str2="Groovy"
    println "$str1:$str2"  (1)
    println '$str1:$str2'   (2)

    输出:

    编程语言:Groovy
    $str1:$str2

    (1)和(2)的输出结果的区别在于(1)会对$str1和$str2和进行解析输出“编程语言:Groovy”

    (2)则会输出$str1:$str2

    这就是Gstring了,是不是很简单呢

    2.字符串的常用操作

    groovy字符串的操作和java里的大体类似,因为有的人可能没有用过Intellij IDE,这里我顺便把创建项目的图贴出来

    (1)选择File---->New Project

    (2)点击下一步之后看到如下界面,配置好groovy和jdk之后,填写项目名称并选择项目存储目录后,点击完成就OK

    如果这个工具不熟练可以自己先学着使用下

    最后贴出代码:

    package org.lxh
    
    class UseGstring {
    
        static main(def args) {
            
          //gstring的用法(理解成转义也成)
          def str1="编程语言"
          def str2="Groovy"
          println "$str1:$str2"
          println '$str2'
          
          
          //字符串操作函数
          def str3="上海市浦东新区轨道交通2号线"
          def str4="hello world"
          def str5="你,好"
          //截取字符串
          println str3.substring(0,7)
          //大小写转换
          println str4.toUpperCase()
          //拆分字符串
          def split=str5.split(",")
          for(item in split){
              println item
          }
          //字符串替换
          println str4.replaceAll("world", "Tom")
          //字符串转为数字
          def str6="28"
          def str7="2"
          println str6.toInteger()+str7.toInteger()
          //字符串的减法
          def str8="abcd"
          println str8-"c"
          //contains的使用
          println str8.contains("c")
        }
    
    }
    下面是运行效果:

    接下来分享下我用IntelliJ调试的心得

    首先在相应行的最前面,单击一下断点就打上去了

    在控制台可以看到下面这样的信息

    到这里大家应该会调试程序了

    http://blog.csdn.net/walkcode/article/details/22953605

    IntelliJ Idea 14调试的操作步骤

    (1)建Module,写groovy代码

    (2)配置一个调试groovy代码的VM

    (3)打断点后,调试Groovy

  • 相关阅读:
    树莓派frp添加为服务管理
    liunx开源打印驱动foo2zjs编译小坑
    树莓派中实现ll命令
    Windows中使用QEMU创建树莓派虚拟机
    C#打印条码BarTender SDK打印之路和离开之路(web平凡之路)(转)
    数据库连接池问题 Max Pool Size
    C#时间
    XAF 如何从Excel复制多个单元格内容到GridView(收藏)
    C#日期处理(转) 太忘记了,备忘
    C#、devExpress 的 给bandedGrid加菜单功能 :复制、粘贴的例子(转)
  • 原文地址:https://www.cnblogs.com/softidea/p/4372056.html
Copyright © 2011-2022 走看看