scala (1) for 循环
scala if else 判断
(1)在scala中末尾不需要添加 分号 作为语句的终结符。 val name = "Leo"
(2) 在 scala 中 if else 是有返回值的,返回值是最后一条语句。if(num > 10)"Li" else 2
(3) 因为 if 和 else 是有值的 所以可以直接将 if 和 else 的结果复制给某个变量 val name = if(num > 10)"Li" else 2 因为返回值类型不一样 所以推断其公共父类型是 any
(4) 在 scala中 无论是方法还是函数 以及条件判断等 只要是有返回值的 都不需要加 return 关键字 val name = if (num > 20) "zs" else "lisi"
(5)如果 没有else 的语句块,则对else 结果推断为 unit 即 没有else 返回值 会返回 () 类似于 java 的 void
if else 练习 :
import scala.io.StdIn
// import scala.util.control.Breaks._
object BaseDemo {
def main(args: Array[String]): Unit = {
val userName = StdIn.readLine("please write your username" + "\n")
val passWord = StdIn.readLine("please write your password" + "\n")
if(userName.equals("admin") && passWord.equals("root")){
println("welcome somebody")
}else{
println("get out")
}
}
}
scala for 循环
(1)使用 to 会产生一个连续不断的区间范围 状态:左右都是闭区间
object BaseDemo {
def main(args: Array[String]): Unit = {
val a = 1 to 10
println( a)
for ( i <- 1 to 10){
print(i)
}
}
}
// Range(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
//
(2)使用until 会产生一个连续不间断的区间 状态:左闭右开
object BaseDemo {
def main(args: Array[String]): Unit = {
for(i <- 0 until 10){
print(i)
}
}
}
//
(3)for循环遍历字符串
object BaseDemo {
def main(args: Array[String]): Unit = {
for(i<- "pwefjpwfpwkf[w"){
// println(i)
print(i + ",")
}
}
}
// p,w,e,f,j,p,w,f,p,w,k,f,[,w,
(4)多重for循环遍历 九九乘法表
def main(args: Array[String]): Unit = {
for(x <- 1 to 9 ; y <- 1 to 9){
if (y == 9){
println(x + "*" + y + "=" + x * y )
}else
print(x + "*" + y + "=" + x * y + " \t ")
}
}
}
/*
1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9
...
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
*/
(5)带 if 守卫的 for 循环
object BaseDemo {
def main(args: Array[String]): Unit = {
for(i <- 1 to 10 ){
if (i % 2 == 0) print (i + ",") else ()
}
}
}
// 2,4,6,8,10,
(6)推导式 for 循环 yield 会拿到每一个元素,然后对其进行 i * 3 的操作
object BaseDemo {
def main(args: Array[String]): Unit = {
val arr = for( i <- 1 to 5 ) yield i * 3
for(j <- arr){
print(j + ",")
}
}
}
// 3,6,9,12,15,
(7)for 循环遍历数组 Array
object BaseDemo {
def main(args: Array[String]): Unit = {
val arr = Array(1,"hello","a")
for(a <- arr){
print(a + ",")
}
}
}
// 1,hello,a,
(8) 中断 for循环
import scala.util.control.Breaks._
object BaseDemo {
def main(args: Array[String]): Unit = {
breakable({
for (i <- 0 to 10) {
print (i + ",")
if (i >= 5) {
break()
}
}
})
}
}
// 0,1,2,3,4,5,
(9)if 守卫 中断 for循环
object BaseDemo {
def main(args: Array[String]): Unit = {
for(i <- 0 to 10){
if(i <= 5){
print(i + ",")
}
}
}
}
// 0,1,2,3,4,5,
scala (1) for 循环的更多相关文章
- scala学习手记2 - scala中的循环
先来看一段Java中的循环: for (int i = 1; i < 4; i++) { System.out.print(i + ","); } 毫无疑问,scala可以让 ...
- scala中停止循环的三种方式
1:使用return关键字 object BreakLoop { //1.使用return关键字 def add():Unit= { for(i <- 1 to 10){ if(i==7){ / ...
- Scala 中 for 循环 和 generator 的使用例子
这个例子是,从每个list中,找到age最大的那个node. class Node(vName: String, vAge: Int) { // Entity class var name: Stri ...
- Scala学习之for 循环和 yield 的例子
for循环中的 yield 会把当前的元素记下来,保存在集合中,循环结束后将返回该集合.Scala中for循环是有返回值的.如果被循环的是Map,返回的就是Map,被循环的是List,返回的就是Lis ...
- Spark记录-Scala循环语句
Scala while循环语句 当给定条件为真时,while循环重复一个语句或一组语句.它在执行循环体之前测试条件状态. 只要给定的条件为真,while循环语句重复执行目标语句. object Dem ...
- 【scala】循环
1.while循环 Scala的while循环跟其他语言并没有很大差别. var i = 0; while(i<args.length){ println(i); i+=1; } Scala也有 ...
- Scala 条件控制与循环
Scala if表达式 ·if表达式的定义:在Scala中,if表达式是有值的,就是if或者else中最后一行语句返回的值. ·例如,val age = 30; if (age > 18) 1 ...
- 第1节 Scala基础语法:5、6、7、8、基础-申明变量和常用类型,表达式,循环,定义方法和函数
4. Scala基础 4.1. 声明变量 package cn.itcast.scala object VariableDemo { def main(args: Array[Strin ...
- 学好Spark/Kafka必须要掌握的Scala技术点(一)变量、表达式、循环、Option、方法和函数,数组、映射、元组、集合
前言 Scala是以JVM为运行环境的面向对象的函数式编程语言,它可以直接访问Java类库并且与Java框架进行交互操作.正如之前所介绍,Spark是用Scala语言编写的,Kafka server端 ...
随机推荐
- 沉淀,再出发:jQuery的初步了解和入门
沉淀,再出发:jQuery的初步了解和入门 一.前言 对于后端开发者来说,是不是真的不需要了解前端的开发经过和相关技术,从我个人的角度来说,我觉得如果不了解或者接触很少,极有可能造成开发的时候 ...
- HDU 1542 矩形面积并
推荐阅读这篇文章 这里仅根据上述文章进行一些补充.主要是注意这里线段树点的意义变成了“边”.比如+-----+-----+,看作3个点abc和两条边e1和e2,那么线段树中点a代表e1,点b代表e2. ...
- [T-ARA][거짓말(Part.1)][谎言(Part.1)]
歌词来源:http://music.163.com/#/song?id=5403062 作曲 : 赵英秀 [作曲 : 赵英秀] 作词 : 安英民 [作词 : 安英民] 사랑한단 거짓말 보고싶을거란 ...
- jquery ui tabs(选项卡)插件
参考文档:http://www.css88.com/jquery-ui-api/tabs/ html代码: <div id="tabs"> <ul> < ...
- jQueryeasyUI+Hibernate+struts2实现商城后台管理之添加操作时的unique验证
1. 在admin.js中添加扩展验证的操作checkName var checkUrl = "./hytc/AdminAction_check.action";
- 好用的css库
实现元素各种抖动效果:https://elrumordelaluz.github.io/csshake/
- JavaScript的DOM_通过计算后样式来获取
虽然可以通过 style 来获取单一值的 CSS 样式,但对于复合值的样式信息,就需要通过计算样式来获取. DOM2 级样式,window 对象下提供了 getComputedStyle()方法.接受 ...
- BZOJ 1061 志愿者招募 最小费用流&&线性规划建模
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1061 题目大意: 申奥成功后,布布经过不懈努力,终于成为奥组委下属公司人力资源部门的主 ...
- Java50道经典习题-程序13 根据条件求数字
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?分析:完全平方数:如果一个数能是由两个相同的数相乘的结果,那么这个数就是完全平方数,例如:9==3*3: ...
- Odoo中要根据某字段值作为条件判断值,但又不想在界面显示
在视图标签中包含这个field(包含这个字段才可以使用该字段),但其invisible属性设置为1,即:该字段不可见. <field name="字段" invisible= ...