scala基础(一)-java开发java经验技巧

scala基础(一)-java开发java经验技巧

ID:30792156

大小:89.00 KB

页数:10页

时间:2019-01-03

scala基础(一)-java开发java经验技巧_第1页
scala基础(一)-java开发java经验技巧_第2页
scala基础(一)-java开发java经验技巧_第3页
scala基础(一)-java开发java经验技巧_第4页
scala基础(一)-java开发java经验技巧_第5页
资源描述:

《scala基础(一)-java开发java经验技巧》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Scala皋础(一)-Java开发Java经验技巧Scala基础(一)木文作者:ImportNew・朱伟杰未经许可,禁止转载!这个章节的内容包含•关于这个教程•表达式•值•变量•函数•类•基木继承•traits•类型关于这个教程在最初的几个星期里,我们会讲解Scala的基本的语法和概念。然后我们会通过更多的练习来展示这些概念。有些例子是通过解释器里的儿行代码来展示的,有些则是通过源码的形式进行展示。你最好安装一个scala解释器,它叮以方便你探索问题。为什么用Scala?•富有表现力O一等两数O闭包•简洁O类型接口O支持函数创建的语法•可以和Java进行互操作o可以复用Java的类

2、库o可以复用Java的工具o没有额外的性能问题Scala怎么运行?•Scala代码会编译成Java字节码•可以很好的运行在任何标准的JVM上o甚至可以运行在非标准的JVM±,例如DalvikoScala的编译器是由Java编译器的作者编写的按照Scala的方式思考Scala不仅仅是Java的改善。你需要用一个全新的思维方式来学习它,你会从这些课程中学到更多。启动解释器启动内置的sbtconsole$sbtconoleWelcometoScalaversion2.8.0.final(JavaIlotSpot(TM)64-BitServerVM,Java1.6.020)・Typeine

3、xpressionstohavethemevaluated.Type:helpformoreinformation.scala>表达式scala>1+1resO:Int=2resO是由解释器自动给你的表达式的结果生成的变量名。它的类型是Int,值是2O在Scala里(几乎)所冇的东西都是一个表达式。值你可以给表达式的结果设定一个名字。scala>valtwo=1+1two:Int=2你不可以改变val变量的绑定。变量如果你需要改变绑定,你可以使用var來代替。scala>varname二〃steve〃name:java.lang.String=stevescala>name=/zm

4、ariusz,name:java.lang.String=marius函数你可以用def来创建函数scala>defaddOne(m:Int):Int=m+1addOne:(m:Int)Int在Scala里,你需要给函数的参数指定类型签名。解释器会冋显你指定的类型签名。scala>valthree=addOne(2)three:Int=3对于没有参数的函数,在调用的吋候可以省略掉括号scala>defthree()二1+2three:()Tntscala>three()res2:Int=3scala>threeres3:Int=3匿名函数你可以通过下面的方式创建匿名函数scala>

5、(X:Tnt)二>x+1res2:(Int)=>Int=这个函数给一个Int型的整数加一。scala>res2(1)res3:Int=2你可以把匿名函数作为参数进行传递,或者把它们保存在val中。scala>valaddOne二(x:Tnt)二>x+1addOne:(Int)=>Int=scala>addOne(1)res4:Int二2如果你的函数是曲多个表达式组成的,你可以把它们写在一对{}里。deftimesTwo(i:Int):Int={println(z,helloworld")i*2}也可以通过卜•面的方式來创建一个匿名函数scala>{i:Int=>println("h

6、elloworld,z)i*2}resO:(Tnt)=>Tnt二在把匿名函数作为一个参数进行传递时,你会经常看到这种语法。部分应用(偏函数)你可以使用下划线来部分应用一个函数,这样就可以产生一个新的函数。Scala用下划线来表示在不同上下文下的不同内容,不过你可以认为它是一个没有名字的神奇通配符。在{_+2}这样的上下文里,它表示一个没冇名字的参数。你也可以这样來使用它:scala>defadder(m:Int,n:Int)=m+nadder:(m:Int,n:Int)Intscala>valadd2=adder(2,Tnt)add2:(Int)=>Int=scala>add2(3

7、)res50:Int二5你可以部分应用参数列表里的任何参数,而并非只是最后一个。Curriedfunctions有时候,使用者会先给你的函数传入部分参数,后面再传入其他的参数,这样做是很有用的。下面的例子中,你可以对两个数进行乘法运算。在第一次调用时,你可以确定哪个是乘数,在第二次调用时,再确定被乘数。scala>defmultiply(m:Int)(n:Int):Int二m*nmultiply:(m:Int)(n:Int)Int你可以一直接把两个参数都传入。scal

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。