一、 Scala基础

1. 声明变量

package cn.toto.scala/*** Created by toto on 2017/6/27.*/
object VariableDemo {def main(args: Array[String]): Unit = {//使用val定义的变量值是不可变的,相当于java里用final修饰的变量,不可以再改变参数的值val i = 1println("参数i的值是:" + i)//使用var定义的变量是可变的,在scala中鼓励使用valvar s = "hello";println("参数s的值是:" + s)//修改一下s的值s = "hello word";println("修改后的参数s的值是:" + s)//Scala编译器会自动推断变量的类型,必要的时候可以指定类型//变量名在前,类型在后val str : String = "toto";println("带有参数类型说明的变量str的值是:" + str);}
}

运行结果:

参数i的值是:1
参数s的值是:hello
修改后的参数s的值是:hello word
带有参数类型说明的变量str的值是:toto

2. 常用类型
Scala和Java一样,有7种数值类型Byte、Char、Short、Int、Long、Float和Double(无包装类型)和一个Boolean类型
3. 条件表达式
Scala的的条件表达式比较简洁,例如:

package cn.toto.scala/*** Created by toto on 2017/6/27.*/
object ConditionDemo {def main(args: Array[String]): Unit = {val x = 1//判断x的值,将结果赋给yval y = if(x > 0) 1 else -1//打印y的值println(y)//支持混合类型表达式val z = if(x > 1) 1 else "error"//打印z的值println(z)//如果缺失else,相当于if(x > 2) 1 else ()val m = if(x > 2) 1println(m)//在scala中每个表达式都有值,scala中有个Unit类,写做(),相当于Java中的voidval n = if(x > 2) 1 else ()println(n)//If和else ifval k = if(x < 0) {0} else if(x >= 1) {1} else {-1}println(k);}
}

运行结果:

1
error
()
()
1

4. 块表达式

package cn.toto.scala/*** Created by toto on 2017/6/27.*/
object BlockExpressionDemo {def main(args: Array[String]): Unit = {val x = 0//在scala中的{}中可包含一系列表达式,快中最后一个表达式的值就是块的值,下面就是一个块表达式val result = {if(x < 0) {-1} else if(x >= 1) {1} else {"error"}}//result的值就是块表达式的结果println(result)}
}

运行结果:
error

5. 循环
在scala中有for循环和while循环,用for循环比较多
for循环语法结构:for (i <- 表达式/数组/集合)

package cn.toto.scala/*** Created by toto on 2017/6/27.*/
object ForDemo {def main(args: Array[String]): Unit = {//for(i <- 表达式),表达式1 to 10返回一个Range(区间)//每次循环将区间中的一个值赋给ifor(i <- 1 to 10) {print(i + " ")}println("")//for(i <- 数组)val arr = Array("a","b","c")for(i <- arr) {print(i + " ");}println("")//高级for循环//每个生成器都可以带一个条件,注意:if前面没有分号for(i <- 1 to 3; j <- 1 to 3 if i != j) {print((10 * i + j) + " ")}println()//for推导式:如果for循环的循环体以yield开始,则该循环会构建出一个集合//每次迭代生成集合中的一个值val v = for(i <- 1 to 10) yield i * 10println(v)}
}

运行结果:

1 2 3 4 5 6 7 8 9 10
a b c
12 13 21 23 31 32
Vector(10, 20, 30, 40, 50, 60, 70, 80, 90, 100)

Scala声明变量、常用类型、条件表达式、块表达式、循环相关推荐

  1. [日常] go语言圣经-声明,变量,赋值,类型,包和文件习题

    go语言圣经-声明 1.四种类型的声明语句:var.const.type和func,分别对应变量.常量.类型和函数实体对象的声明 2.包一级声明语句声明的名字可在整个包对应的每个源文件中访问,局部声明 ...

  2. Java基础知识 变量 基本类型 类型转换 标识符 关键字 运算符 循环 分支结构 JVM

    标题JVM **java语言是跨平台的,之所以跨平台是因为在不同的系统中安装不同的JVM这是Java跨平台的前提** 2.JDK:开发工具包-开发必须安装 JRE:运行时环境 JVM:Java虚拟机, ...

  3. Scala——(常用类型与字面量,Scala类层次结构,值与变量自动类型推断,操作符,块表达式和赋值语句,输出和输出,字符串插值器,对象相等性)

    文章目录 常用类型与字面量 Scala类层次结构 值与变量&自动类型推断 操作符 块表达式和赋值语句 输出和输出 字符串插值器 对象相等性 常用类型与字面量 Scala和Java一样,有8种数 ...

  4. scala 环境搭建 变量 值 数据类型 元组 表达式块 语句 函数 柯里化 集合 面向对象 隐式转换

    scala (scalable的简写) scala是一个比较冷门的语言,不太被人们所知道 为什么这么冷门的语言现在被我们使用 很多的大数据的项目的源码是是用scala语言编写的. 因为大数据技术不断被 ...

  5. JavaScript声明变量详解

    前言 如果文章中有出现纰漏.错误之处,还请看到的小伙伴多多指教,先行谢过 在ES5阶段,JavaScript 使用 var 和 function 来声明变量, ES6 中又添加了let.const.i ...

  6. javascript 声明变量var、let、const详解及示例

    1. var.let.const概述 ES6发布前,Javascript只能通过var声明变量的方式,常量.块级变量.函数变量这些概念的差别都不能很好的体现出来,于此同时,加入你要使用或者提供一个ap ...

  7. python怎么创建变量不赋值_python声明变量不赋值

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 动态类型的语言python是动态类型的语言,不需要声明变量的类型. 实际上,py ...

  8. java怎么申请变量_java怎么声明变量

    在 Java 程序设计中,每个声明的变量都必须分配一个类型.声明一个变量时,应该先声明变量的类型,随后再声明变量的名字.下面演示了变量的声明方式. double salary; int age; Bo ...

  9. 2021年大数据常用语言Scala(四):基础语法学习 声明变量

    目录 声明变量 语法格式 在解释器中定义一个变量 val和var变量 使用类型推断来定义变量 惰性赋值 声明变量 我们将来每一天编写scala程序都会定义变量.那scala语言如何定义变量呢? 语法格 ...

最新文章

  1. mysql中leave和_MySQL数据库之Mysql存储过程使用LEAVE实现MSSQL存储过程中return语法
  2. CentOS下yum安装nginx服务
  3. 【面试系列】6种单例模式(Singleton)实现方法比较
  4. 钉钉自定义机器人python_使用钉钉自定义机器人发送舔狗日记[70行][python]
  5. 数学:拓展中国剩余定理
  6. obs virtual camera
  7. Dubbo背景和简介
  8. SpringMVC的请求-文件上传-文件上传的原理
  9. opencv threshold_基于深度学习OpenCV与python进行字符识别
  10. C语言字符数组与字符串
  11. caj文献格式转PDF格式
  12. GCN图卷积网络简单实现
  13. 电脑ps计算机磨皮,ps磨皮教程
  14. 【2018黑龙江省赛】UPC-7222 Overflow(模拟物理水体积)
  15. 慢就是快的人生哲理_感悟人生:慢是一种心态
  16. 投资理财启蒙之《小狗钱钱》拆读
  17. 在java中使用关键字导入包_在Java中,若要使用一个包中的类时,首先要求对该包进行导入,其关键字是( )。...
  18. hive 执行SQL异常
  19. 2016年6月10号
  20. 使用EXCEL制作核酸检测结果异常人员活动轨迹地图

热门文章

  1. python提示错误TypeError: 'dict_keys' object does not support indexing
  2. leetcode 418 整数转罗马数字
  3. wxWidgets:wxMessageOutput类用法
  4. boost::mp11::mp_replace_third相关用法的测试程序
  5. boost::hana::monadic_compose用法的测试程序
  6. boost::fusion::join用法的测试程序
  7. boost::iterator的用法测试实例
  8. boost::container模块实现检查相等的容器的测试程序
  9. Boost:使用Qt加载图像,应用简单的框模糊滤镜
  10. ITK:为图像中标记区域的边界上色