Scala:(2)控制结构
(1)if else
val s=if(x>) else -1
(2)循环
while(n>){
r=r*n
n-=
}
///for 循环
for(i <- to n) r=r*i
//until
val s="Hello"
var sum=
for(i <- util s.length) sum+=s(i)//i的最后一个取值是s.length-1
//多个for循环 for(i <- to ;j<- to ) print((*i+j) + “ ”)
//将打印11 12 13 21 22 23 31 32 33
//yield在for循环中的应用
//for循环的循环体以yield开始,该循环会构造出一个集合
for(i <- to ) yield i %
//生成Vector(1,2,0,1,2,0,1,2,0,1)
(3)函数
//定义一个函数
def abs(x :Double)= if (x>=) x else -x
//大括号的函数定义
def abs(x :Double)={
if (x>=) x else -x
}
//函数参数 def decorate(str: String , left: String ="[", right: String="]“)={
left + str +right
} //变长参数
def sum(args: Int*)={
var result=
for(arg<-args) result+=arg result
} //当变长参数函数被调用时传入的是单个参数,那么该参数必须是单个整数,而不是一个整数区间。解决这个问题的办法是告诉编译器你希望这个参数被当作参数序列处理。追加:_*
val s = sum( to :_*)
(4)Unit是一个返回类型,相当于void
def box(s: String): Unit={
....
}
(5)懒值 lazy
//当val被声明为lazy时,它的初始化将被推迟,知道我们首次对它取值
lazy val words=scala.io.Source.fromFile("/usr/share/dict/words").mkString
Scala:(2)控制结构的更多相关文章
- Scala的控制结构和函数
控制结构和函数 先看以下简单的一个条件表达式的demo object TestConditional { def main(args: Array[String]): Unit = { // scal ...
- 《快学Scala》——控制结构和函数
条件表达式 在Scala中if/else表达式有值,这个值就是跟在if或else之后的表达式的值.例如: if (x > 0) 1 else -1 上述表达式的值是1或-1,具体是哪一个取决于x ...
- scala编程(七)——内建控制结构
几乎所有的 Scala 的控制结构都会产生某个值.这是函数式语言所采用的方式,程序被看成是计算值的活动,因此程序的控件也应当这么做.另外,指令式语言经常具有三元操作符(如 C,C++和 Java 的? ...
- Scala学习笔记之二--基本数据类型
前言 本篇主要讲Scala的基本数据类型,更多教程请参考:Scala教程 基本数据类型 Scala一共提供了9中数据类型,Scala的基本数据类型与java中的基本数据类型是一一对应的,这是Scala ...
- Scala基础类型与操作
Scala基本类型及操作.程序控制结构 Scala基本类型及操作.程序控制结构 (一)Scala语言优势 自身语言特点: 纯面向对象编程的语言 函数式编程语言 函数式编程语言语言应该支持以下特性: 高 ...
- 【Scala】Scala之Control Structures
一.前言 前面学习了Scala的Numbers,接着学习Scala的Control Structures(控制结构). 二.Control Structures Scala中的控制结构与Java中的颇 ...
- Scala编程 摘录
有件你会注意到的事情是,几乎所有的 Scala 的控制结构都会产生某个值.这是函数式语言所采用的方式,程序被看成是计算值的活动,因此程序的控件也应当这么做.你也可以把这种方式看做早已存在于指令式语言中 ...
- 【福利】送Scala语言入门视频学习资料
没有套路真的是送!! 想要学好大数据,scala语言是必不可少的,spark和kafka等大数据重要组件都是用scala写的,想要彻底搞懂这些组件是如何运作的必须得看源码,而学习scala是看源码的必 ...
- 如何快速学习Scala
大数据学习过程中,会学习非常多的技术,但SCALA无疑是必不可少,那我们在大数据技术的学习过程中,如何快速的认识scala,并且学习它,感谢科多大数据公司的余老师提供的详细素材,本人整理成章,希望对你 ...
随机推荐
- burp
http://www.2cto.com/Article/201406/310929.html
- [转载]Oracle基础知识
一.oracle安装过程略 二.sys用户和system用户 (1)sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限 默认密码是change_onins ...
- 跨域的小小总结:js跨域及跨域的几种解决方法
一.什么是跨域?? js跨域请求就是使用js访问iframe里的不同域名下的页面内容,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同的域的iframe框架中的数据.即只要域名.协议. ...
- iOS 跳转到应用所在的App Store市场
代码入下 #import "ViewController.h" @interface ViewController ()<UIWebViewDelegate> @end ...
- OpenCV Tricks[OpenCV 笔记3]
官方例程 事例程序位于opencv-3.1.0/samples/cpp/ 目录下,可以通过编译整个工程,编译所有的Sample Code 显示当前使用的OpenCV版本 CV_VERSION为标识当前 ...
- ToString函数用法
// C 货币 2.5.ToString("C"); // ¥2.50 // D 10进制数 25.ToString("D5"); // 25 ...
- JavaScript学习心得(四)
条件语句 任何事物非真即假. 在JavaScript中,条件判断以下情况为假: false NaN 0 空串 null undefined 在使用相等运算符时,建议将数字写在相等运算符的左边.全等比较 ...
- php模块参考
<?php //数据库连接类 class ConnDB{ var $dbtype; var $host; var $user; var $pwd; var $dbname; //构造方法 fun ...
- Ubuntu14.04不支持U盘exfat格式该如何解决
转: http://www.jb51.net/os/Ubuntu/275158.html exfat是U盘的文件系统,很多系统都支持exfat格式的使用,但Ubuntu系统并不支持exfat格式,要如 ...
- 简单安装python的pip工具模块
下载最新pip安装包 https://pypi.python.org/pypi/pip#downloads 安装 .tar.gz cd pip-.tar.gz python setup.py inst ...