首页 / SCALA / Scala基础语法介绍
Scala基础语法介绍
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Scala基础语法介绍,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2193字,纯文字阅读大概需要4分钟。
内容图文

注意:在scala中没有static的概念,在object这个关键字修饰的类中所有的方法和属性都是static的。这里的object类叫做伴生类,目前不涉及。
例:
object Test01{
def main(args: Array[String]): Unit = {
//使用val定义的变量是不可变的,相当于java中的final修饰的
val v1=1
//使用var定义的变量的值是可变的,在scala中鼓励使用的是val
var v2=2
//在定义变量的时候,也可以在变量名前提供类型,如何不提供默认的是类型推断
val v3:String ="zzy" //自定义类型
val v4="jj" //类型推断
}
}
2.scala的数据类型
scala和java一样有7中数据类型:byte、char、short、int、long、float、double和boolean,但是无包装类型,还有String。
例:
object Test01 {
def main(args: Array[String]): Unit = {
val v1: Int = 1
val v2: Double = 1.1
val v3: Float = 1.1f
val v4: Char = ‘c‘
val v5: Boolean = true
val v6: String = "zzy"
val va7:String="""aaa \t\t0""" //三个引号表示特殊字符不转义
val va8: Byte = 0
//注意,如果在上面确定变量的数据类型,在下面则不能修改
val value1=1
value1="aaa" //这里会报出语法错误
}
}
如以上的图所示:
Any:是所有类的父类,包括值类型AnyVal和引用类型AnyRef
AnyVal :是所有值类型的父类,包括 Int,Double,Boolean,Unit 等等
AnyRef :是所有引用类型的父类,包括 Null
Null :是所有引用类型的子类, Null 也只有一个实例,是 null,相当于 java 中的 null,能赋值给任何引用类型变量,不能赋值给值类型变量
Nothing : Nothing
Unit :类型只有一个实例,是(),相当于 java 中的 void,没有任何的实质意义(在定义方法的返回值的时候使用)
3.scala的基本操作符
算数操作符:+ - * / %
关系运算符:> >= <= == !=
逻辑运算:&& || !
位运算:& | ^ >> << >>>
对象比较:1==1 “zy”==“zy” (判断值相等)
4. 关键字
5.控制流程语句
? (1) 选择结构
object Test01 {
def main(args: Array[String]): Unit = {
val v1=5
//有返回值的判断语句(if-else)
val result1=if(v1>5)"true" else "false"
//返回值为()的判断语句(if-else if -else)
val result2=if(v1>3) "true" else if(v1>5) "false" else ()
}
}
? (2) 块表达式
object Test01 {
def main(args: Array[String]): Unit = {
/**
* 块中的最后一个表达式的值就是这个快的返回值。
* 就算是赋值表达式,也有返回值,是空,Unit。
*/
val x=5
val y=10
val result1={
if(x>y){
"true"
}else{
"false"
}
}
val result2={
2+2
}
}
}
? (3) 循环语句
for:
object Test01 {
def main(args: Array[String]): Unit = {
//for 循环
//1 to 10
for(i<- 1 to 10){
println(i) //打印1 ~ 10
}
//1 until 10
for(i<- 1 until 10){
println(i) //打印1 ~ 9
}
//遍历可迭代对象
val arrs=Array("aa","bb","cc")
for(item <- arrs){
println(item)
}
//在遍历是对每一个元素进行操作
var array:Array[Int]=Array(1,2,3,4)
//将数组中的每一个元素都*5
val collect=for(i<- array) yield i*5
}
}
注意:to 和 until 也是可以有第二个参数的,比如 1 to (10,3) 第二个参数表示步长
while:
var i=1
while(i<=9){
println(i)
//i++ //注意这两句话是错误的,在scala中没有++ --
i+=1
}
原文:http://blog.51cto.com/14048416/2336808
内容总结
以上是互联网集市为您收集整理的Scala基础语法介绍全部内容,希望文章能够帮你解决Scala基础语法介绍所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。