Scala学习03——基础语法
前言
此系列为scala学习文章,适用于为学spark而学习scala
视频参考地址:Scala快速入门(适合为学Spark学习Scala的同学)
系列文章如下:
1. Scala学习01——Scala介绍
2. Scala学习02——Scala类和对象
3. Scala学习03——基础语法
4. Scala学习04——Scala方法与函数
5. Scala学习05——Scala集合
6. Scala学习06——trait特性、模式匹配、偏函数、样例类
7. Scala学习07——隐式转换
资料下载地址:Scala课件资料.docx
目录
一、 循环语句
1. if else
2. for
3. while,do...while...
一、 循环语句
1. if else
val age =18
if (age < 18 ){println("no allow")
}
else if (18<=age&&age<=20){println("allow with other") //输出该语句
}else{println("allow self")
}
2. for
(1)to和until 的用法(不带步长,带步长区别)
- 在scala中,Range代表的是一段整数的范围
- until和Range是左闭右开,1是包含的,10是不包含。而to是左右都包含。
/*** to和until* 1 to 10 返回1到10的Range数组,包含10* 1 until 10 返回1到10 Range数组 ,不包含10
*/println(1 to 10 )//打印 1, 2, 3, 4, 5, 6, 7, 8, 9, 10println(1.to(10))//与上面等价,打印 1, 2, 3, 4, 5, 6, 7, 8, 9, 10println(1 to (10 ,2))//步长为2,从1开始打印 ,1,3,5,7,9println(1.to(10, 2)) println(1 until 10 ) //不包含最后一个数,打印 1,2,3,4,5,6,7,8,9println(1.until(10))//与上面等价println(1 until (10 ,3 ))//步长为2,从1开始打印,打印1,4,7for(i <- 0 to 10);
for(i <- 0 until 10);
var r = Range(1,10);
var r = Range(1,10,2);//1到10的整数,步长为2,步长不能为0,默认步长为1
这些底层其实都是Range,Range(1,10,2):1是初始值,10是条件,2是步长,步长也可以为负值,递减。
(2)创建for循环
for( i <- 1 to 10 ){println(i)
}
//for循环数组
val arr=Array(“a”,”b”,”c”)
for(i<-arr)
println(i)
- 多层 for 循环,可以用分号隔开
- 字符串占位符用 s"第 $ i 次 "
- scala中不能使用count++,count—只能使用count = count+1 ,count += 1
//可以分号隔开,写入多个list赋值的变量,构成多层for循环//scala中 不能写count++ count-- 只能写count+var count = 0;for(i <- 1 to 10; j <- 1 until 10){println("i="+ i +", j="+j)count += 1}println(count);//例子: 打印小九九for(i <- 1 until 10 ;j <- 1 until 10){if(i>=j){print(s"$i * $j = " + i*j + '\t')}if(i==j ){println()}}
- for循环中可以加条件判断,可以使用分号隔开,也可以不使用分号(使用空格)
for(i <- 1 to 10 ; if(i%2 == 0) ; if(i>=5)){println(s"第 $i 次 输出结果")
}
- for循环用yield 关键字返回一个集合(把满足条件的i组成一个集合)
var res = for (i <-1 to 20 if (i>5)) yield iprintln("res",res)
输出为vector集合
3. while,do...while...
- while循环,while(){},do {}while()
var i = 0
var j=0
// while
while(i<3){println(s"第 i $i 次")i +=1
}//do...while...
do{println(s"第 j $j 次")j +=1
}while(j<3)
输出结果:
Scala学习03——基础语法相关推荐
- scala学习笔记-基础语法(1)
Scala与Java的关系 Scala与Java的关系是非常紧密的!! 因为Scala是基于Java虚拟机,也就是JVM的一门编程语言.所有Scala的代码,都需要经过编译为字节码,然后交由Java虚 ...
- python基础语法及知识总结-Python 学习完基础语法知识后,如何进一步提高?
---4.30更新---感谢大家支持,点赞都破两千了.给大家整理出来新的资料,需要的小伙伴来自取: Python练手项目视频如下: Python自学基础知识如下: 以下为原文内容: Python 学习 ...
- idea编译的文件怎么用cmd打开_JAVA学习册|基础语法|cmd输出HelloWorld
看到这个标题,估计已经有小伙伴知识本文要讲什么了,好,下面我们就开始正文 学java最开始的地方 很多老师的书和视频中,在安装完jdk,配置好环境变量,都会带大家用记事本写一个HelloWorld,然 ...
- python学习三-基础语法
python学习三-基础语法(2019-12-24日晚) 1.源码文件 Python源码文件名通常采用小写的方式,常见的扩展名有: py:基本的源码扩展名. pyw:是另一种源码扩展名,跟py唯一的区 ...
- Scala语言学习一——基础语法
什么是 Scala Scala 是一种多范式的编程语言, 其设计的初衷是要集成面向对象编程和函数式编程的各种 特 性 . Scala 运 行 于 Java 平 台 (Java 虚 拟 机 ) , 并 ...
- python语法基础学习-Python基础语法精心总结!看完都知道的可以往下继续学习了...
原标题:Python基础语法精心总结!看完都知道的可以往下继续学习了 这应该是最详细的Python入门基础语法总结! 定义变量,使用变量 1. input 用户自己输入值 2. print 打印值 可 ...
- 【python零基础入门学习】Python入门,带你快速学习Python 基础语法
ython 语言与 Perl,C 和 Java 等语言有许多相似之处.但是,也存在一些差异. 在本章中我们将来学习 Python 的基础语法,让你快速学会 Python 编程. 第一个 Python ...
- 【Drools二】打工人学习Drools基础语法
目录 0.项目搭建 1. 规则文件 1.1 构成 1.2规则体 2.基础语法 2.1 注释 2.2 Pattern模式匹配 2.3比较操作符 2.3.1 实践 2.3执行指定规则 3.Drools内置 ...
- 0基础学习Python基础语法(0)-print()与变量
文章目录 Python[人工智能]时代的立身武器 print 无引号 单引号的用法 双引号的用法 三引号的用法 转义字符 变量和赋值 变量的命名规范 下关预告 Demo 例子:打印 例子:转义字符 要 ...
- MySQL学习之基础语法详解
这篇记录一下MySQL的基础语法 DDL数据定义语言 主要是针对数据库,表,列的操作,即创建,查询,修改,删除 查询所有数据库 show databases; 创建数据库 create databas ...
最新文章
- BZOJ Tyvj 1729 文艺平衡树
- 网络时间协议 --- 网络对时程序
- 鲁棒图的三元素:抽象对象,实体对象和控制对象
- scrapy---反爬虫
- wchar_t*,wchar_t,wchat_t数组,char,char*,char数组,std::string,std::wstring,CString....转换
- 割点、割边(桥) tarjan
- java 调用 Oracle 存储过程
- input type属性为file时(type=file),上传一次然后做更新input的change事件
- noip2015day1 T1 4510 神奇的幻方
- linux命令:mkfs、mke2fs、blkid、e2label、tune2fs、dumpe2fs、fsck、e2fsck
- Php clearstatcache() 函数详解
- 河南理工大学计算机科学与技术怎么样,河南理工大学计算机科学与技术怎么样...
- Flash builder 4.6 下载 破解 序列号【你懂的】
- 微信小程序跳转页面问题
- C#删除数组中是节假日的数据
- adb不是内部或外部命令,AndroidStudio中ADB命令不能用的问题
- 已经有211大学发布计算机专业,研究生复试上机考试说明
- 新星计划Day2【JavaSE】 枚举类与注解
- Camera2打开相机,建立会话,并监听相机流(以拍照为例)
- Easyui combobox设置值和文本的几种方式和问题
热门文章
- 最新!CVPR2020 最新论文下载!
- Python3 AES加解密(AES/ECB/PKCS5Padding)
- 辗转相除法 两个数的最大公约数
- spring data jpa 查询部分字段列名无效问题
- Java在websocket获取Httpsession及bean无法注入问题
- java_home not found in your enviroment 问题解决方法
- I学霸官方免费教程四十二 :Java流之字节流 输入流和输出流 InputStream和OutputStream...
- Web前端开发最佳实践(7):使用合理的技术方案来构建小图标
- 20130331java语言基础学习笔记-语句_breakcontinue
- 名词解释:什么是RSS? [转贴]