scala学习一:scala入门

scala学习一:scala入门

标签(空格分隔): scala


一,搭建开发环境

1,jdk的安装和环境配置
001.PNG-6.3kB

2,安装scala sdk并且配置环境变量
001.PNG-27.4kB

002.PNG-30.1kB

003.PNG-27.9kB

004.PNG-6.7kB

3,安装scala集成开发环境
001.PNG-12.7kB

002.PNG-26.4kB

二,scala 常用的数据类型

数值类型:Byte,Short,Int,Long,Float,Double

/*
Byte:8位有符号数字 -128~127
Short:16位有符号数字 -32768~32767
Int:32位有符号数字
Long:32位有符号数字

Float:32位有符号的浮点数
Double:64位的有符号浮点数

*/
val a:Byte=10                             //> a  : Byte = 10
a+10                                      //> res0: Int = 20

val b:Short=20                            //> b  : Short = 20
a+b                                       //> res1: Int = 30

字符类型Char和字符串类型String

val c:Char='x'                            //> c  : Char = x
val d:String="hello"                      //> d  : String = hello

//字符串:插值
"my name is ${d}"                         //> res2: String("my name is ${d}") = my name is ${d}

unit类型:相当有void类型

val f={}                                  //> f  : Unit = ()
val g:Unit={}                             //> g  : Unit = ()

Nothing类型:含义相当于返回一个例外

def myfunction=throw new Exception("error happened")
//> myfunction: => Nothing

三,scala变量的声明和使用

val:定义的是常量,值是不可以改变的
var:定义变量
注意:可以不用指定变量类型,scala可以自动推动变量类型

四,函数的定义和使用

1,scala预定义函数(需要导入相应的包)

import scala.math._

max(1,2)                                        //> res0: Int = 2

2,自定义函数(返回值类型可以省略)

def sayHello(name:String):String={
  "hello-----"+name
}                                               //> sayHello: (name: String)String
sayHello("world")                               //> res1: String = hello-----world
//求和
def sum(x:Int,y:Int):Int={
x+y
}                                               //> sum: (x: Int, y: Int)Int
var num=sum(4,6)                                //> num  : Int = 10

五,条件表达式

和java的中的if else语法结构一样,但是在scala中,if else是表达式,有值:这个值就是跟在if或else之后的表达式的值

val xx=1                                        //> xx  : Int = 1
if(xx==1){
  "this value is 1"
}else{
  "other value"
}                                               //> res2: String = this value is 1

六,循环

1,for循环

//for 的第一种方式
for(temp<-list) println(temp)                   //> mary
                                                  //| tom
                                                  //| mike
  //for 的第二种方式
  for{
    temp<-list
    if(temp.length>3)
  }println(temp)                                  //> mary
                                                  //| mike
//for 的第三种方式
for(temp<-list if temp.length<=3) println(temp) //> tom
//for 的第四种方式
var newlist=for{
  temp<-list
  temp1=temp.toUpperCase
}yield(temp1)                           //> newlist  : List[String] = List(MARY, TOM, MIKE)

2,while循环

var i=0                                         //> i  : Int = 0
while(i<list.length){
  println(list(i))
  i+=1
}                                                 //> mary
                                                  //| tom
                                                  //| mike
var i=0                                         //> i  : Int = 0
do{
    println(list(i))
    i+=1
}while(i<list.length)
//> mary
//| tom
//| mike

3,foreach(函数的名称)

list.foreach(println)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

forrestxingyunfei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值