If 判断:

 object TestScalaIf {
def main(args: Array[String]): Unit = { // val resutlt = judge1(-100)
// println(resutlt) val resutlt2 = judge2(100)
println(resutlt2)
}
/*
* scala中不存在三元运算符,使用if/else
*/
def judge1(x:Int) = {
val c = if(x > 0) 1 else "superman"
c
} /*
* scala在做分层判断时,必须要把每一种可能性都判断好
*/
/*
def judge2(x: Int) = {
if(x>0){
1
}else if(x<0){
-1
}else{ //这种情况下和Java没有任何的区别.
0
}
}
*/
def judge2(x: Int) = {
if(x>0){
1
}else if(x<0){
-1
}
0//这个0是无论x是什么样的值都会走的.最后的返回值都是此处的0
} }

While和For循环:

循环(while、for) 如果需要倒叙输出,后面加reverse

如果修改步长,可以使用守卫方法,即在生成式后面加一个boolean判断,符合条件的输出

修改步长更简单的方式如下,to后面使用括号,括号中第二个参数表示步长

支持类似于java的双重for循环,在scala中只需要一个for即可

使用for推导式,可以把结果保存起来

看代码:

 object TestScalaFor {
def main(args: Array[String]): Unit = {
/*while循环*/
// while(true){
// println(12)
// } /*for循环*/
//之前Java中的for循环的写法
/*普通的for循环
*for(int i=0;i<5;i++){
*
*}
*/ /*增强for循环
*for(List i: list){
*
* }
*/ for( i <- 1 to 10){//这个是闭区间
println(i)
}
/*
* 输出结果:
* 1
* 2
* ....
* 10
*/ /*
* println(1 to 10)
* println(1.to(10))
* 这两个打印出来的是 Range(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
* to是一个方法.按F3可以直接进入该方法.
*/ for(i <- 1 until 10){//开区间 前闭后开 通常用于遍历数组
println(i)
}
/*
* 输出结果:
* 1
* 2
* ...
* 9
*/ for(i <-(1 to 10).reverse){//倒序输出
println(i)
}
/*
* 输出结果
* 10
* 9
* ....
* 1
*/ for(i <- "superman"){//遍历字符串
println(i)
}
/*
* 输出结果:
* s
* u
* ....
* n
*/ /*高级for循环*/
for( i <- 1 to 10 ;if i % 2 == 0){//更改步长为2.";" 这个情况下可以加也可以不加
println(i)
}
/*
* 输出结果:
* 2
* 4
* ...
* 10
*/ for( i <- 1 to 10 reverse;if i % 2 == 0){//";" 这个情况下必须加上,否则编译不通过.
println(i)
}
/*
* 输出结果
* 10
* 8
* ...
* 2
*/ /*改变步长的第二种方式*/
for(i <- 1 to (10,3)){//改变步长方式二
println(i)
}
/*
* 输出结果:
* 1
* 4
* 7
* 10
*/ //通过yield将一个集合转换成为另外一个集合的方法叫for的推导式
val c = for(i <- 1 to 10) yield { i + 1}
println(c)
/*
* 输出结果:
* Vector(2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
*/ for(i <- 1 to 10 ; j <- 1 to 5){//双重for循环
println(i + "---->" +j)
}
}
}

Scala中的If判断&While&For循环的更多相关文章

  1. Programming In Scala笔记-第十一章、Scala中的类继承关系

    本章主要从整体层面了解Scala中的类层级关系. 一.Scala的类层级 在Java中Object类是所有类的最终父类,其他所有类都直接或间接的继承了Object类.在Scala中所有类的最终父类为A ...

  2. scala学习手记2 - scala中的循环

    先来看一段Java中的循环: for (int i = 1; i < 4; i++) { System.out.print(i + ","); } 毫无疑问,scala可以让 ...

  3. 3. Python中的分支判断、循环

    本文利用的是Python 3.x版本,建议学习3.x版本 Python中的分支判断.循环 1. 分支条件判断 1.1 比较操作 以下是数之间常见的比较操作,例如5>3就是数学意义上的比较,5是大 ...

  4. Python中的条件判断、循环以及循环的终止

    条件判断 条件语句是用来判断给定条件是否满足,并根据判断所得结果从而决定所要执行的操作,通常的逻辑思路如下图: 单次判断 形式 if <判断条件>: <执行> else: &l ...

  5. Linux centosVMware 自动化运维Ansible介绍、Ansible安装、远程执行命令、拷贝文件或者目录、远程执行脚本、管理任务计划、安装rpm包/管理服务、 playbook的使用、 playbook中的循环、 playbook中的条件判断、 playbook中的handlers、playbook实战-nginx安装、管理配置文件

    一.Ansible介绍 不需要安装客户端,通过sshd去通信 基于模块工作,模块可以由任何语言开发 不仅支持命令行使用模块,也支持编写yaml格式的playbook,易于编写和阅读 安装十分简单,ce ...

  6. Programming In Scala笔记-第七章、Scala中的控制结构

    所谓的内建控制结构是指编程语言中可以使用的一些代码控制语法,如Scala中的if, while, for, try, match, 以及函数调用等.需要注意的是,Scala几乎所有的内建控制结构都会返 ...

  7. scala中option、None、some对象

    转载:http://www.jianshu.com/p/95896d06a94d 1.option类型避免对象是空值,造成空指针异常. 2.None对象表示null,在没有对象返回时使用,some在有 ...

  8. Scala中的流程控制

    一.分支控制if-else //Scala中if-else语句中,代码块内最后一句代码就是返回值 def main(args: Array[String]): Unit = { var age:Int ...

  9. Scala中apply的用法

    Scala中的 apply 方法有着不同的含义, 对于函数来说该方法意味着调用function本身, 以下说明摘自Programming in Scala, 3rd Edition Every fun ...

随机推荐

  1. [Xcode使用 - 4] 真机调试配置

    A.步骤 1.申请开发者账号 2.注册机器成为开发机器 (1)生成证书请求文件 (2)上传请求文件 (3)生成cer证书文件: **.cer (4)下载cer证书   3.注册测试程序ID:APP I ...

  2. UVaLive 7375 Hilbert Sort (递归,四分图,模拟)

    题意:告诉你一条希尔伯特曲线的大小,然后给你n 个人,及n 个人的坐标,你的起点是左下角,终点是右下角,按照希尔伯特的曲线去走,按照这个顺序给n个人排序, 按顺序输出每个人的名字! 析:这就是一个四分 ...

  3. mahout算法源码分析之Itembased Collaborative Filtering(二)RowSimilarityJob

    Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit. 本篇开始之前先来验证前篇blog的分析结果,编写下面的测试文件来进行对上篇三个job的输出进行读取: p ...

  4. iOS开发代码规范

    1.关于命名 1.1统一要求 含义清楚, 尽量做到不需要注释也能了解其作用,若做不到,就加注释 使用全称不使用缩写 1.2类的命名 大驼峰式命名:每一个单词的首字母都采用大写字母例子: MFHomeP ...

  5. C# Dictionary用法总结

    转自:http://www.cnblogs.com/linlf03/archive/2011/12/09/2282574.html http://www.cnblogs.com/linzheng/ar ...

  6. How to do Mathematics

    著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:匿名用户链接:http://www.zhihu.com/question/30087053/answer/47815698来源 ...

  7. jqGrid 学习

    jqGrid 学习: 一.下载需要的jqGrid包:http://www.trirand.com/blog/?page_id=6 二.下载JQuery UI:http://jqueryui.com/d ...

  8. Linux下升级python版本

    转载自:http://lovebeyond.iteye.com/blog/1770476 CentOS下的Python版本一般都比较低,很多应用都需要升级python来完成.我装的centOS的默认的 ...

  9. Java学习备忘录

    1.工程名首字母可以小写,类名首字母大写 2.批量注释: Eclipse : ctrl+/  如果不行 用 ctrl+7 或者 ctrl+shift+c Notepad++ : ctrl+q 或者 c ...

  10. cocos2d-x 多线程以及线程同步

    转自:http://blog.csdn.net/zhy_cheng/article/details/9116479 cocos2d-x引擎在内部实现了一个庞大的主循环,每帧之间更新界面,如果耗时的操作 ...