Scala基础语法介绍

1.变量的定义

注意:在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

时间: 2024-08-27 17:55:00

Scala基础语法介绍的相关文章

scala函数式编程(二) scala基础语法介绍

上次我们介绍了函数式编程的好处,并使用scala写了一个小小的例子帮助大家理解,从这里开始我将真正开始介绍scala编程的一些内容. 这里会先重点介绍scala的一些语法.当然,这里是假设你有一些java或者python的基础,毕竟大部分人不会将scala当作第一门学习编程的语言. 不过这些语法知识记不住也没关系,本身语法这种东西就应该在使用中被记住.这里写这篇的目的也只是梳理一遍,方便大家对语法有个初步的印象,后面可以随时查询. PS:所使用的版本是scala 2.11.8,那我们开始吧 一.

【Scala学习之一】 Scala基础语法

环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk1.8 scala-2.10.4(依赖jdk1.8) spark-1.6 Scala是一种混合功能编程语言,类似java,运行于JVM,集成面向对象编程和函数式编程的各种特性.(1)Scala可以与Java互操作:它用scalac这个编译器把源文件编译成Java的class文件,从Scala中调用所有的Java类库,也同样可以从Java应用程序中调用Scala的

Scala基础语法 (一)

如果你之前是一名 Java 程序员,并了解 Java 语言的基础知识,那么你能很快学会 Scala 的基础语法. Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的. 我们可以认为 Scala 程序是对象的集合,通过调用彼此的方法来实现消息传递.接下来我们来理解下,类,对象,方法,实例变量的概念: 对象 - 对象有属性和行为.例如:一只狗的状属性有:颜色,名字,行为有:叫.跑.吃等.对象是一个类的实例. 类 - 类是对象的抽象,而对象是类的具体实例. 方法 - 方法

Scala系统学习(三):Scala基础语法

如果您熟悉Java语言语法和编程,那么学习Scala将会很容易.Scala和Java之间最大的句法差异在于行结束字符的分号(;) 是可选的. 当编写Scala程序时,它可以被定义为通过调用彼此的方法进行通信的对象的集合.现在我们简单地看一下类,对象,方法和实例变量的含义. 对象 - 对象有状态和行为.一个对象是类的一个实例.例如 - 狗有状态:颜色,名称,品种,它行为有:摇摆,吠叫和吃东西. 类 - 可以将类定义为描述与该类相关的行为/状态的模板/蓝图. 方法 - 一个方法基本上是一种行为.一个

scala 基础语法

文章内容全部来自:http://twitter.github.io/scala_school/zh_cn/index.html 表达式 scala> 1 + 1 res0: Int = 2 值 你可以给一个表达式的结果起个名字赋成一个不变量(val). scala> val two = 1 + 1 two: Int = 2 变量 如果你需要修改这个名称和结果的绑定,可以选择使用var. scala> var name = "steve" name: java.lang

Scala基础语法(声明定义、标识符命名、Scala脚本入门)

一.声明与定义(赋值) 1.val, 常量声明   val x:T val x:T=e 2.var, 变量声明   var x:T var x:T=e ?类型省略(默认类型)val x=e var x=e ? 声明省略(连续声明) val x1,x2,x3 等价于 val x1;val x2; var x1,x2,x3:T=e  等价于  var xn:T=e 3.def,函数声明def abc(xn:T):T*=e def adder(m:Int,n:Int) =m+n def adder()

关于sass的基础语法介绍

注:主要作为记录用 前言: sass是css预编译工具中的一种,结合compass使用可以大大加快css开发的速度,同时也可以解决一些css开发里比较难受的点.使用sass可以使css的开发对编程人员更友好. 安装和使用: sass基于ruby,首先需要去ruby官网下载安装ruby.ruby下载地址. 下载安装过程很简单,记得勾选添加到PATH.之后就可以在命令行里通过 ruby -v 来查看是否安装成功. 然后就可以使用gem包管理工具了 因为容易被墙 需要换源: gem sources -

第一章 Scorpio-CSharp基础语法介绍 变量篇

1. 申请变量时加上 var 证明此变量的作用域为当前作用域,不加var的一律认为是全局变量 2. 预留全局变量 _G 全局table,_G保存了所有全局变量 _VERSION 脚本引擎版本号,暂时全部为master _SCRIPT 脚本引擎对象 3. 脚本内所有数据类型分别为 null bool number string function array table userdata,下面为各类型的申请 null 类型 var a = null bool 类型 var a = true var

Scala基础语法

/* 学慕课网上<Scala程序设计>课程跟着敲的代码 作为代码参考也是很好的 在scala_ide.org上下载eclipse IDE,新建一个worksheet,就可以像在xcode的playground那样玩了, 就是如下所示,写变量直接在右边显示结果 链接:scala集合文档http://docs.scala-lang.org/zh-cn/overviews/collections/introduction 函数式编程,核心是状态不变 */ var x = 1 //> x : I