scala学习笔记☞一---------Scala 初探
来源:互联网 发布:2016复杂网络大会 编辑:程序博客网 时间:2024/05/16 10:40
从去年下半年开始关注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. 内蕴状态和外蕴状态:想想内部变量和参数变量吧
- scala学习笔记☞一---------Scala 初探
- Scala学习笔记01【Scala入门初探】
- Scala学习笔记一
- Scala学习笔记(一)
- scala学习笔记一
- Scala学习笔记一
- scala学习笔记一
- scala学习笔记一
- Scala学习笔记(一)----Scala环境安装
- scala学习笔记一------初步了解scala
- [Scala]Scala学习笔记一 基础
- scala初探(一)
- scala 初探(一)
- Scala 之初探(一)
- Scala学习笔记(一)
- scala学习笔记(一)
- SCALA学习笔记(一)
- Scala学习笔记(一)
- VS2003中添加TreeView控件
- jSR94 规则引擎
- 基于Windows核心技术的网络监控教学系统的研究(转)
- visual web developer 2008 调试时:无法启动程序 “http://localhost/xxx不能调试”.系统找不到指定的文件.
- 项目 服务器 网络 维护
- scala学习笔记☞一---------Scala 初探
- 怀念小人书
- SQL SERVER 与ACCESS、EXCEL的数据转换
- 如何用索引器解决下面的问题啊?
- 水煮TCPMP
- Jruby常用网站
- VC用ADO连接数据库
- sql各种约束
- C#类的成员初始化顺序