scala学习笔记☞一---------Scala 初探

从去年下半年开始关注scala了,scala在编程语言排名中进了Top50.先赞一个!scala能否和ruby一争高下与否,本人水平有限,暂不讨论! 在接下来的时间里,会同大家一起分享在学习scala过程中的点点滴滴,有学习不妥之处,恳请各大门派高手赐教! 先看scala的几大优点: 1) 静态类型语言。这是有区别于最近风靡java平台的其他动态语言,虽然是静态类型语言,但是其内部大量利用了type inferencing。编译器深入分析代码以确定特定值的类型,无需developer干预。类型推断需要较少的冗余性代码。这点也是强于其他静态类型语言的。 2) 结合了OO和Function 编程风格。 对于深爱java(略显老态)OO的developer是个很好的事情,它将两个领域的优势混合在一起。 3) 最为要命的就是生成Java字节码。在jvm上为所欲为。可以充分利用java丰富的lib。集成到现有的环境中,无需迁移! 开发环境: Eclipse3.4(plugin scala)+ scala 2.7 还是来个HelloWord来展现下scala吧。 HelloWord.scala object Hello{ def main(args:Arrays[String]):unit={ System.out.print("hello") Console.println(" scala !") } } 运行结果: hello scala! 代码浅析: 1) 文件名必须和类名一致的要求给去掉了! 2) object hello,hello是个single了,因此认为scala里面没有了java中的single模式。 3) System.out.print 引用了java的代码。 4) 语句后面无须; 5) 函数的写法是 funcationName(args1:type1,args2:type2):返回值(unit代表无返回值)={} 6) main方法避开了static。如果既需要单例也需要全局实例,则定义为 class object Hello. 7) Array表示泛型化的方式[],java中是<>. 再看一个scala函数式编程的过人之处: object funcationTest{ def callTest(second:int,callback:()=>unit):unit={ while(ture){ callback() Thread.sleep(second*1000)//ms } } def main(args:Array[String]):unit={ callTest(2,()=>Console.println("oh yeah! function and oo programming! ")) } } 自己体会上面的代码吧,感受下scala的威力! scala初探就先到这吧。想想scala与java的区别吧。 名词扫盲: 1.Function programming:函数式编程 ,eg:javascript; 2. 静态类型语言与动态类型语言:简要点就是类型的判断一个在编译期,一个在运行期。再想想javascript吧 3. 内蕴状态和外蕴状态:想想内部变量和参数变量吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值