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. PID入门的十五个基本概念

    PID调节系统PID功能由PID调节器或DCS系统内部功能程序模块实现,了解与PID调节相关的一些基本概念,有助于PID入门新手快速熟悉调节器应用,在自动调节系统中成功整定PID参数.1.被调量被调量 ...

  2. picture to string

    图片转化为字符原理: 一张m*n大小的图片,实际上可以看成是一个m*n的矩阵.矩阵的每一个元素就是一个Color值,不同的Color值,用不同的Ascii可以在屏幕上打印显示的字符来代替,于是可以得到 ...

  3. codeforce 621A(水题)

    A. Wet Shark and Odd and Even time limit per test 2 seconds memory limit per test 256 megabytes inpu ...

  4. 《精通ASP.NET MVC5》第2章 第一个MVC应用程序

      控制器     public class NewHomeController : Controller     {         // GET: /NewHome/         public ...

  5. ntdll.dll函数原型

    /*NTDLL Base Functions*/NTSYSAPI NTSTATUS NTAPI NtAcceptConnectPort( OUT PHANDLE PortHandle, IN PVOI ...

  6. VMM服务模板(虚机、APP)部署排错

    I won't focus this blog on how to create a service template but more on how you can track the change ...

  7. C++11新特性(3) lambda表达式(1)

    C++11加入了一项名为lambda表达式的新功能.通过这项功能能编写内嵌的匿名函数,而不必编写独立函数或函数对象,使得代码更加理解. lambda表达式包括下面部分. [capture_block] ...

  8. 【Android应用开发】 OpenGL ES -- 透视投影 和 正交投影

    博客地址 : http://blog.csdn.net/shulianghan/article/details/46680803 源代码下载 : http://download.csdn.net/de ...

  9. Codeforces Round #334 (Div. 2) C. Alternative Thinking 贪心

    C. Alternative Thinking Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/6 ...

  10. androidstudio构建(或导入)工程(不用gradle)

    获取源代码: ---assets ---libs ---res ---src 先备份AndroidManifest.xml,然后工程中只保留这四个文件夹,其他文件删除, 然后在studio中导入工程, ...