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. cocos2d-x 纹理深入研究 第二部分

    转自:http://blog.csdn.net/qq51931373/article/details/9152227 1.纹理控制. 看此代码: CCSprite *pSprite = CCSprit ...

  2. 对"一维最大子数组和"问题的思考(homework-01)

    一维最大子数组和问题,即给定一个数组,在它所有的连续子数组的和中,求最大的那个和.“最大子数组和”是一个很好的IT面试考题,在<编程之美>一书中同时阐述了一维数组和二维数组的讨论.本篇博客 ...

  3. ocp 1Z0-043 1-60题解析

    1.You observe that a database performance has degraded overa period of time. While investigating the ...

  4. HDU 1856 More is better(并查集)

    http://acm.hdu.edu.cn/showproblem.php?pid=1856 More is better Time Limit: 5000/1000 MS (Java/Others) ...

  5. CodeForces 707C Pythagorean Triples (数论)

    题意:给定一个数n,问你其他两边,能够组成直角三角形. 析:这是一个数论题. 如果 n 是奇数,那么那两边就是 (n*n-1)/2 和 (n*n+1)/2. 如果 n 是偶数,那么那两边就是 (n/2 ...

  6. st_Alarm_GenAlarmDealTime

    USE [ChiefmesNew]GO/****** Object: StoredProcedure [dbo].[st_Alarm_GenAlarmDealTime] Script Date: 04 ...

  7. 通过yum安装Nagios

    通过yum安装Nagios 2012年04月05日 ⁄ Nagios ⁄ 暂无评论   QQ空间新浪微博腾讯微博人人网更多3   前提先自行安装好Apache+php 测试环境主监控机:CentOS ...

  8. 通过克隆MAC地址 破解网通电信封路由

    通过克隆MAC地址 破解网通电信封路由 电信封路由方法一:先确定申请上网的电脑单机状态下已经能够上网.就说明该电脑网卡的MAC地址是合法的MAC地址.进入系统的MSDOS方式,发布ipconfig/a ...

  9. Sonatype Nexus 搭建Maven 私服

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...

  10. UVa10562 Undraw the Trees

      注意点: 空树情况处理. >= && buf[r+][i-]=='-') i--; #include<cstdio> #include<cstring> ...