前言

此系列为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——基础语法相关推荐

  1. scala学习笔记-基础语法(1)

    Scala与Java的关系 Scala与Java的关系是非常紧密的!! 因为Scala是基于Java虚拟机,也就是JVM的一门编程语言.所有Scala的代码,都需要经过编译为字节码,然后交由Java虚 ...

  2. python基础语法及知识总结-Python 学习完基础语法知识后,如何进一步提高?

    ---4.30更新---感谢大家支持,点赞都破两千了.给大家整理出来新的资料,需要的小伙伴来自取: Python练手项目视频如下: Python自学基础知识如下: 以下为原文内容: Python 学习 ...

  3. idea编译的文件怎么用cmd打开_JAVA学习册|基础语法|cmd输出HelloWorld

    看到这个标题,估计已经有小伙伴知识本文要讲什么了,好,下面我们就开始正文 学java最开始的地方 很多老师的书和视频中,在安装完jdk,配置好环境变量,都会带大家用记事本写一个HelloWorld,然 ...

  4. python学习三-基础语法

    python学习三-基础语法(2019-12-24日晚) 1.源码文件 Python源码文件名通常采用小写的方式,常见的扩展名有: py:基本的源码扩展名. pyw:是另一种源码扩展名,跟py唯一的区 ...

  5. Scala语言学习一——基础语法

    什么是 Scala Scala 是一种多范式的编程语言, 其设计的初衷是要集成面向对象编程和函数式编程的各种 特 性 . Scala 运 行 于 Java 平 台 (Java 虚 拟 机 ) , 并 ...

  6. python语法基础学习-Python基础语法精心总结!看完都知道的可以往下继续学习了...

    原标题:Python基础语法精心总结!看完都知道的可以往下继续学习了 这应该是最详细的Python入门基础语法总结! 定义变量,使用变量 1. input 用户自己输入值 2. print 打印值 可 ...

  7. 【python零基础入门学习】Python入门,带你快速学习Python 基础语法

    ython 语言与 Perl,C 和 Java 等语言有许多相似之处.但是,也存在一些差异. 在本章中我们将来学习 Python 的基础语法,让你快速学会 Python 编程. 第一个 Python ...

  8. 【Drools二】打工人学习Drools基础语法

    目录 0.项目搭建 1. 规则文件 1.1 构成 1.2规则体 2.基础语法 2.1 注释 2.2 Pattern模式匹配 2.3比较操作符 2.3.1 实践 2.3执行指定规则 3.Drools内置 ...

  9. 0基础学习Python基础语法(0)-print()与变量

    文章目录 Python[人工智能]时代的立身武器 print 无引号 单引号的用法 双引号的用法 三引号的用法 转义字符 变量和赋值 变量的命名规范 下关预告 Demo 例子:打印 例子:转义字符 要 ...

  10. MySQL学习之基础语法详解

    这篇记录一下MySQL的基础语法 DDL数据定义语言 主要是针对数据库,表,列的操作,即创建,查询,修改,删除 查询所有数据库 show databases; 创建数据库 create databas ...

最新文章

  1. BZOJ Tyvj 1729 文艺平衡树
  2. 网络时间协议 --- 网络对时程序
  3. 鲁棒图的三元素:抽象对象,实体对象和控制对象
  4. scrapy---反爬虫
  5. wchar_t*,wchar_t,wchat_t数组,char,char*,char数组,std::string,std::wstring,CString....转换
  6. 割点、割边(桥) tarjan
  7. java 调用 Oracle 存储过程
  8. input type属性为file时(type=file),上传一次然后做更新input的change事件
  9. noip2015day1 T1 4510 神奇的幻方
  10. linux命令:mkfs、mke2fs、blkid、e2label、tune2fs、dumpe2fs、fsck、e2fsck
  11. Php clearstatcache() 函数详解
  12. 河南理工大学计算机科学与技术怎么样,河南理工大学计算机科学与技术怎么样...
  13. Flash builder 4.6 下载 破解 序列号【你懂的】
  14. 微信小程序跳转页面问题
  15. C#删除数组中是节假日的数据
  16. adb不是内部或外部命令,AndroidStudio中ADB命令不能用的问题
  17. 已经有211大学发布计算机专业,研究生复试上机考试说明
  18. 新星计划Day2【JavaSE】 枚举类与注解
  19. Camera2打开相机,建立会话,并监听相机流(以拍照为例)
  20. Easyui combobox设置值和文本的几种方式和问题

热门文章

  1. 最新!CVPR2020 最新论文下载!
  2. Python3 AES加解密(AES/ECB/PKCS5Padding)
  3. 辗转相除法 两个数的最大公约数
  4. spring data jpa 查询部分字段列名无效问题
  5. Java在websocket获取Httpsession及bean无法注入问题
  6. java_home not found in your enviroment 问题解决方法
  7. I学霸官方免费教程四十二 :Java流之字节流 输入流和输出流 InputStream和OutputStream...
  8. Web前端开发最佳实践(7):使用合理的技术方案来构建小图标
  9. 20130331java语言基础学习笔记-语句_breakcontinue
  10. 名词解释:什么是RSS? [转贴]