zoukankan      html  css  js  c++  java
  • groovy学习笔记1

    网上看到很多评论说groovy 是个很好用的脚本语言,周末去下了一个回来看看。语法好像和java有些接近,不过松散了一些,有好也有坏吧。遗憾的是没有IDE,只好在editplus上面配了个groovy工具组,添了运行、编译和控制台三个命令进去,然后开始照着手册敲代码。

     

    读书的时候就换过好几次开发语言,LOGO, BASIC (APPLE II 上面的那种呵呵), TRUE BASIC, QUICK BASIC, TURBO PASCAL, TURBO C, TPW, BC++, DELPHI每次换一种语言总是这样几个step

    1 hello world(看看开发环境) 2 99乘法表(看看循环、格式化输出)3 做个比较复杂点的程序,看看过程调用、循环、判断这些基本的语言特征。

     

    好些年没有学新语言了,还是先试试这三板过时的(面向对象、数据库、网络服务都没有涉及到)斧头还能不能砍得了东西吧。

    1 hello world

    脚本语言就是方便,一点上下文都没有,一个println就搞定了

     

    2 99乘法表

    int i=0 , j=0

    while(i<9){

           i++;j=1;

           while(j<=i){

                  print(j+"*"+i+"="+(i*j)+"/t")

                  j++

           }

           println()

    }

    脚本语言就是松散,分号加不加都可以。语法和数据类型好像都跟java差不多。

     

    3 写个复杂一点的例子。前两天看《程序员法则》刚好看到提起了著名的八皇后问题,就写个八皇后吧:

    int q=8

    byte[] i=new byte[q]

    byte count=0

    scan(0)

    println("totle results:"+count)

    def scan(n){

           if (n==q){

                  println(i.toList())

                  count++

                  return

           }

           i[n]=0

           while(i[n]<q){

                  i[n] = i[n]+1

                  if (check(n)){

                         scan(n+1)

                  }

           }

    }

    def check(n){

           int j=0;

           while(j<n){

                  if (i[j]==i[n] || i[j]-i[n]==j-n || i[j]-i[n]==n-j ){

                         return false

                  }

                  j++

           }

           return true

    }

     

    呵呵,典型的面向过程,全局变量都弄出来了。运行一下还满快的。

     

    下回有空再看连接数据库这一块的。

  • 相关阅读:
    vue打包以及在Apache环境下的配置
    Vue.js学以致用之遇到的那些坑
    【转】frameset 框架集使用语法,常用语后台。
    基于jquery的简洁树形折叠菜单
    基于jquery的垂直滚动触发器,多参数可设置。
    基于jquery的水平滚轴组件,多参数可设置。
    计算机网络自顶向下方法【九】——安全
    计算机网络自顶向下方法【八】——链路层_2
    计算机网络自顶向下方法【七】——链路层
    计算机网络自顶向下方法【六】——网络层
  • 原文地址:https://www.cnblogs.com/stonehuang/p/6603239.html
Copyright © 2011-2022 走看看