scala> val x = 1 x: Int = 1

一、值与变量

  • 值(val):赋值后不可变

   val值名称:类型 = XXX

  • 变量(var):赋值后可以改变

    var变量名称:类型 = XXX

scala> val x : Int = 1
x: Int = 1
scala> x = 2
<console>:12: error: reassignment to val
x = 2
^
scala>  var x : Int = 1
x: Int = 1
scala> x = 2
x: Int = 2
scala> val x = 1
x: Int = 1

scala> var x = 1
x: Int = 1

二、常用的类型:

  • Byte
  • char
  • Short
  • Int
  • Long
  • Float
  • Double
  • Booleal

并无基本类型与包装类型之分

三、方法定义

def 方法名(参数名:参数类型):返回类型={

//block内最后一行为返回值

}

注:当返回值为unit时,可以定义为:

def 方法名(参数名:参数类型){

}

package week1

/**
*Create by wucy on 2017/2/8
*/ object WeekOne{
def add(x:Int,y:Int): Int = {
x+y
} def add() = {
println("say hello")
} def main(args:Array[String]){
println(add(1,2))
add()
}
}

方法的注意:

  • 没有参数的方法可以不带圆括号访问
  • Scala没有静态方法,通过object来实现
scala> 1.to(10)
res0: scala.collection.immutable.Range.Inclusive = Range 1 to 10 scala> 1 to 10
res1: scala.collection.immutable.Range.Inclusive = Range 1 to 10
  • 条件表达式(if)
  • 循环表达式(for,while,to,until,Range没有coninue与break)
  • 语句终止(分行写时可以不用分号)
scala> if (x>0) 1 else -1
res2: Int = 1 scala> val a = if(x>0) 1 else -1
a: Int = 1
scala> 1 to 10
res3: scala.collection.immutable.Range.Inclusive = Range 1 to 10 scala> 1 until 10
res4: scala.collection.immutable.Range = Range 1 until 10
scala> Range(1,10)
res5: scala.collection.immutable.Range = Range 1 until 10 scala> Range(1,10,2)
res6: scala.collection.immutable.Range = inexact Range 1 until 10 by 2
def main(args:Array[String]){
//println(add(1,2))
//add()
for (i<- 1 to 10){
println(i)
}
}
scala> for( i<- 1 until 10) println(i)
1
2
3
4
5
6
7
8
9
scala> for( i<- 1 until 10 if i % 2 ==0 ) println(i)
2
4
6
8
  • Lazy value(懒加载)

  lazy val val_name = val_value

  用到时才会去初始化

 

scala> val a = 1
a: Int = 1 scala> lazy val a = 1
a: Int = <lazy> scala> a
res9: Int = 1
  • 默认参数
  • 带名参数(赋值顺序可以定义时顺序不一致)
  • 边长参数(:_*)

 四、异常处理

  

资料来源:小象学院 陈 超  仅供学习研究

scala学习——(1)scala基础(上)的更多相关文章

  1. Scala学习(一)--Scala基础学习

    Scala基础学习 摘要: 在篇主要内容:如何把Scala当做工业级的便携计算器使用,如何用Scala处理数字以及其他算术操作.在这个过程中,我们将介绍一系列重要的Scala概念和惯用法.同时你还将学 ...

  2. Scala学习笔记--正则表达式基础知识、如何在scala内使用

    正则表达式语法:https://msdn.microsoft.com/zh-cn/library/ae5bf541(VS.80).aspx 基础知识:正则表达式30分钟入门教程 http://www. ...

  3. Scala学习(六)---Scala对象

    Scala中的对象 摘要: 在本篇中,你将会学到何时使用Scala的object语法结构.在你需要某个类的单个实例时,或者想为其他值或函数找一个可以挂靠的地方时,你就会用到它.本篇的要点包括: 1. ...

  4. [Scala]Scala学习笔记一 基础

    1. 变量 val定义的值实际上是一个常亮,无法改变其内容 scala> val num = 0 num: Int = 0 scala> num = 2 <console>:1 ...

  5. Scala学习之路----基础入门

    一.Scala解释器的使用 REPL:Read(取值)-> Evaluation(求值)-> Print(打印)-> Loop(循环) scala解释器也被称为REPL,会快速编译s ...

  6. Scala学习(五)---Scala中的类

    Scala中的类 摘要: 在本篇中,你将会学习如何用Scala实现类.如果你了解Java或C++中的类,你不会觉得这有多难,并且你会很享受Scala更加精简的表示法带来的便利.本篇的要点包括: 1. ...

  7. Scala学习——Brief Scala Tutorial

    因为Spark项目需要,学习Scala编程. 从官网文档入手:http://www.scala-lang.org/documentation/ 首先从他的Older Documentation入手. ...

  8. Scala学习1————scala开发环境搭建(windows 10)

    Scala开发环境搭建 先讲几点我学习scala的目的或者原因吧: JVM在企业中的霸主地位,Scala也是JVM上的语言,很有可能未来会从Java过度到Scala也不是不可能. 先进的函数式编程和面 ...

  9. Scala学习(八)---Scala继承

    Scala继承 摘要: 在本篇中,你将了解到Scala的继承与Java和C++最显著的不同.要点包括: 1. extends.final关键字和Java中相同 2. 重写方法时必须用override ...

  10. Scala学习随笔——Scala起步

    实验楼学习Scala语言的笔记,课程网址为https://www.shiyanlou.com/courses/490 一.Scala简介 Scala 是一门多范式的编程语言,类似于 Java .设计初 ...

随机推荐

  1. windows下安装并启动hadoop2.7.2

    64位windows安装hadoop没必要倒腾Cygwin,直接解压官网下载hadoop安装包到本地->最小化配置4个基本文件->执行1条启动命令->完事.一个前提是你的电脑上已经安 ...

  2. LeetCode题解之Copy List with Random Pointer

    1.题目描述 2.问题分析 首先要完成一个普通的单链表的深度复制,然后将一个旧的单链表和新的单链表的节点使用map对应起来,最后,做一次遍历即可. 3.代码 RandomListNode *copyR ...

  3. 负载均衡(Load Balancing)学习笔记(一)

    概述 在分布式系统中,负载均衡(Load Balancing)是一种将任务分派到多个服务端进程的方法.例如,将一个HTTP请求派发到实际的Web服务器中执行的过程就涉及负载均衡的实现.一个HTTP请求 ...

  4. 通过递增快照备份 Azure 非托管 VM 磁盘

    概述 Azure 存储提供创建 Blob 快照的功能. 快照将捕获该时间点的 Blob 状态. 本文介绍有关如何使用快照维护虚拟机磁盘备份的方案. 如果选择不使用 Azure 备份和恢复服务,但想要为 ...

  5. Sql server bulk insert

    Bulk Insert Sql server 的bulk insert语句可以高效的导入大数据量的平面文件(txt,csv文件)到数据库的一张表中,其用法如下: bulk insert test fr ...

  6. guider – 全系统Linux性能分析器

    Guider是一个免费且开源的,功能强大的全系统性能分析工具,主要以Python for Linux 操作系统编写. 它旨在衡量系统资源使用量并跟踪系统行为,从而使其可以有效分析系统性能问题或进行性能 ...

  7. 推荐一个国外C开发的PHP框架--Phalcon,性能相当好

    本人亲自配置测试后.性能相当不错.不过有一点.使用极不符合国人习惯,甚至和大多数主流PHP框架如Zend Framework,Yii,Ci,Thinkphp都不一样. Phalcon 是一个开源的,全 ...

  8. sha256sum和 md5sum 命令之间的区别

    Short answer: For verifying ISOs, there is no practical difference, use whichever you want, as long ...

  9. 安装 Scala

    0. 说明 Scala 安装(Windows)  &  Scala 安装(Linux) 1. Scala 安装(Windows) 1.0 下载 Scala  下载地址 1.1 运行 Scala ...

  10. Eclipse中Tomcat的配置

    1.Window-Preferences-Server-Runtime Environments 2.点击Add,选择相应的Tomcat版本,我的是7.0的所以我选择这个.并勾选Create a ne ...