一、概述
二、CentOS7安装Scala
2、配置环境变量
export SCALA_HOME=/opt/modules/scala-2.12.7/
export PATH= P A T H : PATH: PATH:SCALA_HOME/bin
三、变量和数据类型
1.声明变量
Scala中变量的声明使用关键字val和var。
声明一个val字符串变量str:
scala> val str="hello scala" str: String = hello scala
声明变量时指定数据类型:
scala> val str:String="hello scala" str: String = hello scala
将多个变量放在一起进行声明:
scala> val x,y="hello scala" x: String = hello scala y: String = hello scala
2.数据类型
在Scala中,所有的值都有一个类型,包括数值和函数。
Scala中的值类型可以进行转换,且转换是单向的。
例如下面的例子,允许将Long型转换为Float型,Char型转换为Int型:
val x: Long = val y: Float = x //9.E8 (注意在这种情况下会丢失一些精度) val face: Char = '☺' val number: Int = face //9786
//条件表达式主要是含有if/else的语句块: scala> val i=1 i: Int = 1 scala> val result=if(i>0) 100 else -100 result: Int = 100 //也可以在一个表达式中进行多次判断: scala> val result=if(i>0) 100 else if(i==0) 50 else 10 result: Int = 100
块表达式:
//块表达式为包含在符号{}中的语句块: scala> val result={
| val a=10 | val b=10 | a+b | } result: Int = 20
4.Scala中的循环主要有for循环、while循环和do while循环三种。
//for循环 scala> for(i<- 1 to 5) println(i) //while循环 scala> var i=1 i: Int = 1 scala> while(i<5){
| i=i+1 | println(i) | } //do while循环 scala> do{
| i=i+1 | println(i) | }while(i<5)
四、方法与函数
//方法的定义使用def关键字,语法: def 方法名 (参数列表):返回类型={
方法体 } //例如,将两个数字求和然后返回,返回类型为Int: def addNum( a:Int, b:Int ) : Int = {
var sum = 0 sum = a + b return sum } //代码简写,去掉返回类型和return关键字: def addNum( a:Int, b:Int ) = {
var sum = 0 sum = a + b sum }
2.函数
函数的定义与方法不一样,语法:
(参数列表)=>函数体
定义一个匿名函数,参数为a和b,且都是Int类型,函数体为a+b:
( a:Int, b:Int ) =>a+b
如果函数体有多行,可以将函数体放入一对{}中,并且可以通过一个变量来引用函数,变量相当于函数名称:
val f1=( a:Int, b:Int ) =>{
a+b }
对上述函数进行调用:
f1(1,2)
函数也可以没有参数:
val f2=( ) =>println("hello scala")
对上述函数进行调用:
f2()
3、方法与函数的区别
(1)方法是类的一部分,而函数是一个对象并且可以赋值给一个变量。
(2)函数可以作为参数传入到方法中。
例如,定义一个方法m1,参数f要求是一个函数,该函数有两个Int类型参数,且函数的返回类型为Int,方法体中直接调用该函数:
def m1(f: (Int, Int) => Int): Int = {
f(2, 6) }
定义一个函数f1:
val f1 = (x: Int, y: Int) => x + y
调用方法m1,并传入函数f1:
val res = m1(f1) println(res)
输出结果为8。
(3)方法可以转换为函数
当把一个方法作为参数传递给其它的方法或者函数时,系统将自动将该方法转换为函数。
例如,有一个方法m2:
def m2(x:Int,y:Int) = x+y
调用(2)中的m1方法,并将m2作为参数传入,此时系统会自动将m2方法转为函数:
val res = m1(m2) println(res)
val f2=m2 _ val res=m1(f2) println(res)
输出结果为8。
到此这篇scala编程第4版_scala菜鸟教程的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/scalabc/1834.html