scala语言学习

本人是在linux(Ubuntu)中对scala进行的编程学习
在linux中进入scala的方法:输入如下的代码

scala

即可
那么如何退出这个scala的编译器呢?输入如下的代码

:quit

helloword

object 	helloword {
def main(args : Array[String]{
	println("hello")
}
}

执行如下的语句这个可以查看结果为

helloword.main(null)

在命令行输入如下的代码

1 + 3

按下回车会自动输出结果:

res0: int  4

scala会自动根据你的赋值的类型对你的结果进行判断,不用指定特意的类型, 与python类似。

输入如下的代码:

res0 + 1

按下回车结果为

res1:int 5

它可以调用res0的值,并对他执行相应的操作。

scala的变量定义
1:val 与java中的final类似

val  dss = " dss"

按下回车键显示结果为

dss:String=dss

这里没有申明变量的类型,是因为它自己可以自动的识别。

val  dss1:String="dss1"

按下回车结果:

dss1: String = dss1

2:var是可以改变的类型

var  dss2= 111

回车 结果为

  dss2:int=111

因为这个 var的声明的变量是可以改变的我们执行;

dss2= 222
dss2

结果为

 dss2:int= 222

我们发现这个 dss2的值已经被改了!
我们在这里也可以使用代码来测试 一下这个val的变量是否可以改变
执行如下 哦代码

dss1 = 1234

按下回车发现报错了,我们可以看到val定义的变量是不能修改的
结果为

error:reassignment  to val
	 dss1 = 222

输入如下的代码,如果我们要写100遍哦ba那么这个如何实现的呢?
我们可以使用 str * 100 的方法。str = ba即可与python 的字符串的乘法类似。

val   str =  "ba\n"

回车

str * 100
上面条语句str只能在前面,100只能在后面, 要不然会报错的

回车

结果为100个"ba";
scala既是函数式编程也是面向对象的编程语言!在scala中函数与类是同等重要的
无参数的函数 :

def  dss=println("dss")
dss()

调用函数 dss()即可打印dss字符串,我们会发现这个dss的函数的返回类型是
()uint类型相当于java中void的类型,无返回值。

有参数的函数:

def max(x:Int,y:Int): Int={
	if(x >y)x
	else
	y
}
 
max( 1,2)

结果为

2

scala中的whlie循环的代码

**定义数组**
var   dss= Array(1,2,3,4)
var i =0
while(i< dss.length){
		println(dss(i))
		i+=1
 }
(注意在scala中是不支持i++和++i这中格式的语句的,Scala 访问数组的语法是使用 () 而非 [] 。)

回车即可看到结果为

1
2
3
4

使用foreach和 for来进行迭代操作!
如下代码

foreach

dss.foreach(x=>println(x))

回车即可看到结果为

1
2
3
4

我们还可以将这个继续简化

dss.foreach(println)

结果和上面的一样!

for

for(x  <-  dss)
println(x)

结果与上面的一样的

使用类型参数化数组
使用new来创建这个数组
格式
val 数组名字 = new Array -[数组的类型]- (个数)

 val  da = new  Array[String] (3)
(注意这里的 类型与java不同,scala的数组是[] 中写它 的类型 的,java是在<>中。
对数组进行赋值
da(0) = "da"
da(1) = "db"
da(2) =  "dc" 
完成数组的赋值。

da(1)
可以查看da(1)的值。

我们使用for循环来打印遍历
方法一:

for(i <- 0 to 2)
println( da(i))

结果为

da
db
dc

方法二

for(x <- da )
println(x)

方法三

 da.foreach(println)  

结果与上面的结果一样。
在这里我们也可以使用while循环来遍历。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值