Scala学习(二)
二、Scala基础
1、变量:三种修饰符 -> ①val 常亮②var 变量③lazy val 惰性变量求值
2、类型

3、代码块 Block
{exp1;exp2}
或
{
exp1
exp2
}
4、函数
def functionName(param : paramType) : ReturnType = {
//function body : expressions
}
5、if表达式
if() val A else val B
6、for comprehension
用于循环的推导式
for {
x -> xs
y = x + 1
if (y > 0)
} yield y
7、match表达式
exp match {
case p1 => val 1
case p2 => val 2
……
case_ => val n
}
练习:
1、取得下面字符串中的汉字。
1477489369 0:0:0:0:0:0:0:1 cd60e43df3df2b490c517fff502f0684 3 1da6058be377160b14230637662921d7 (0,0,0,5,0,0,0,0) (SEARCH://search-fenzhi&desc-毛衣-male/?productList%5B1%5D%3D100129971676) NOCHANNEL QD_yyb R_84f63572b236e9e49f2e2e5cf885eb94 tag_sea
object ScalaTest1 {
def getChineseChar(str: String): Unit = {
val regex = "[\u4e00-\u9fa5]".r
var l = regex findAllIn str toList
for {
s <- l
} yield (print(s))
}
def main(args: Array[String]): Unit = {
val str1: String = "1477489369"
val str2: String = "0:0:0:0:0:0:0:1"
val str3: String = "cd60e43df3df2b490c517fff502f0684"
val str4: String = "3"
val str5: String = "1da6058be377160b14230637662921d7"
val str6: String = "(0,0,0,5,0,0,0,0)"
val str7: String = "(SEARCH://search-fenzhi&desc-毛衣-male/?productList%5B1%5D%3D100129971676)"
val str8: String = "NOCHANNEL"
val str9: String = "QD_yyb"
val str10: String = "R_84f63572b236e9e49f2e2e5cf885eb94"
val str11: String = "tag_sea"
val list = str1 :: str2 :: str3 :: str4 :: str5 :: str6 :: str7 :: str8 :: str9 :: str10 :: str11 :: Nil
for {
s <- list
} getChineseChar(s)
}
}
2、将下面的单词和数字按列对齐并打印到控制台。
毛衣 1
毛衣毛衣 2
毛衣毛衣毛衣 3
毛衣毛衣毛衣毛衣 4
毛衣毛衣毛衣毛衣毛衣 5
毛衣毛衣毛衣毛衣毛衣毛衣 6
毛衣毛衣毛衣毛衣毛衣毛衣毛衣 7
毛衣毛衣毛衣毛衣毛衣毛衣毛衣毛衣 8
毛衣毛衣毛衣毛衣毛衣毛衣毛衣毛衣毛衣 9
毛衣毛衣毛衣毛衣毛衣毛衣毛衣毛衣毛衣毛衣 10
object ScalaTest2 {
def forScala(n: Int): Unit =
for (i <- 1 to n) {
var str = new StringBuilder()
for (j <- 1 to i) {
str.append("毛衣")
}
str.append('\t')
str.append(i)
str.append('\n')
print(str)
}
def main(args: Array[String]): Unit = {
forScala(10)
}
}
Scala学习(二)的更多相关文章
- Scala学习(二)--- 控制结构和函数
控制结构和函数 摘要: 本篇主要学习在Scala中使用条件表达式.循环和函数,你会看到Scala和其他编程语言之间一个根本性的差异.在Java或C++中,我们把表达式(比如3+4)和语句(比如if语句 ...
- Scala学习二十二——定界延续
一.本章要点 延续让你可以回到程序执行当中之前的某个点; 可以在shift块中捕获延续 延续函数一直延展到包含它的reset块的尾部 延续所谓的”余下的运算“,从包含shift的表达式开始,到包含它的 ...
- Scala学习二十一——隐式转换和隐式参数
一.本章要点 隐式转换用于类型之间的转换 必须引入隐式转换,并确保它们可以以单个标识符的形式出现在当前作用域 隐式参数列表会要求指定类型的对象.它们可以从当前作用域中以单个标识符定义的隐式对象的获取, ...
- Scala学习二十——Actor
一.本章要点 每个actor都要扩展Actor类并提供act方法 要往actor发送消息,可以用actor!message 消息发送是异步的:”发完就忘“ 要接受消息,actor可以调用receive ...
- Scala学习二——控制结构和函数
一.if表达式有值 val s=if(x>0) 1 else -1,相当于Java中x>0?1:-1(不过不拿呢个在?:中插入语句),而且Scala中可以用混合类型(如if (x>0 ...
- Scala学习(二)练习
Scala控制结构和函数&练习 1. 一个数字如果为正数,则它的signum为1:如果是负数,则signum为-1:如果为0,则signum为0:编写一个函数来计算这个值 简单逻辑判断: 测试 ...
- SpringCloud学习(二):微服务入门实战项目搭建
一.开始使用Spring Cloud实战微服务 1.SpringCloud是什么? 云计算的解决方案?不是 SpringCloud是一个在SpringBoot的基础上构建的一个快速构建分布式系统的工具 ...
- 机器学习(三)--- scala学习笔记
Scala是一门多范式的编程语言,一种类似Java的编程语言,设计初衷是实现可伸缩的语言.并集成面向对象编程和函数式编程的各种特性. Spark是UC Berkeley AMP lab所开源的类Had ...
- 基于.net的分布式系统限流组件 C# DataGridView绑定List对象时,利用BindingList来实现增删查改 .net中ThreadPool与Task的认识总结 C# 排序技术研究与对比 基于.net的通用内存缓存模型组件 Scala学习笔记:重要语法特性
基于.net的分布式系统限流组件 在互联网应用中,流量洪峰是常有的事情.在应对流量洪峰时,通用的处理模式一般有排队.限流,这样可以非常直接有效的保护系统,防止系统被打爆.另外,通过限流技术手段,可 ...
- Scala学习资源
Scala学习资源: Scala官方网站:http://www.scala-lang.org/ Scala github:https://github.com/scala/scala Twitter ...
随机推荐
- 【转】如何配置android的adb环境变量
转载地址:http://jingyan.baidu.com/article/17bd8e52f514d985ab2bb800.html 对于android的开发人员来说,首先要做的就是环境变量的配置. ...
- asp之缓存 cachestate
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- 【前端】Web前端学习笔记【2】
[2016.02.22至今]的学习笔记. 相关博客: Web前端学习笔记[1] 1. this在 JavaScript 中主要有以下五种使用场景 在全局函数调用中,this 绑定全局对象,浏览器环境全 ...
- 最小化安装的CentOS7挂载ntfs格式的U盘
准备从系统中拷贝一些文件到U盘,插上U盘. 一.获得U盘的设备识别符 fdisk -l 啊哈,我看到了,是/dev/sdb1 二.熟练的挂载 mount /dev/sdb1 /mnt/usb Duan ...
- 利用cytoscape做网络图
首先做出下面的基因间相互关系图 1.准备sif文件 data.sif 网络数据文件 gene1 pp gene2 gene3 gene4 gene5 gene6 gene7 gene8 gene9 n ...
- c# 正则提取小例子
常用分组语法 分类 代码/语法 说明 捕获 (exp) 匹配exp,并捕获文本到自动命名的组里 (?<name>exp) 匹配exp,并捕获文本到名称为name的组里,也可以写成(?'na ...
- 腾讯云>>云通信>>TLS后台API在mac上JAVA DEMO搭建
1.相关文档地址 2.相关demo代码 代码部分作了修改,使用了commons-io中的IOUtils.toString简化了io操作 public class Demo { public stati ...
- python走起之第十三话
前景介绍 到目前为止,很多公司对堡垒机依然不太感冒,其实是没有充分认识到堡垒机在IT管理中的重要作用的,很多人觉得,堡垒机就是跳板机,其实这个认识是不全面的,跳板功能只是堡垒机所具备的功能属性中的其中 ...
- window 配置wnmp(转下整理 ,全)
工具/原料 RunHiddenConsole.exe 下载地址:http://pan.baidu.com/share/link?shareid=100074&uk=822373947 方法 ...
- jQuery index()
index() index() 方法返回指定元素相对于其他指定元素的 index 位置. 语法 $(selector1).index(selector2) selector2:可选,指定元素:为空时默 ...