1、  if表达式

2、  句终结符、块表达式

3、  输入与输出

4、  循环

5、  高级for循环

1、  if表达式

  if表达式的定义:scala中,表达式是有值的,就是if或者else中最后一行语句返回的值(和java区别)。可以将if表达式赋予一个变量,也可以提前定义一个变量,通常使用第一种写法。

  if表达式类型推断:if表达式式有值的,如果if返回值类型和else返回值类型不同时,scala会自动推断,取两个类型的公共父类型(Any是Int 和String的父类型)。If后面没有跟else,则默认else的值为Unit,也用()表示,类似于java中的void和null。

  将if语句放在多行中:默认情况下,REPL只能解释一行语句,但if表达式通常需要放在多上,可以用{}的方式比如以下方式,或者使用:paste和ctrl+D的方式。

  

2、  语句终结符、块表达式

  默认情况下,scala不需要语句终结符,默认每行作为一个语句。

  一行放多条语句:如果一行放多个语句必须使用语句终结符,通常来说,对于多行语句,还是会使用花括号的方式。

  块表达式:块表达式,值的就是{}中的值,其中包含多条语句,最后一个语句的值就是块表达式的返回值。

  

3、  输入与输出

  print和println:print打印时不加换行符,println打印时会加一个换行符。

  printtf:可以用于格式化,相当于占位符。

  readLine:从控制台中读取用户输入的数据。

  

4、  循环

  

  While do循环:scala中while do循环,基本语义和java相同。

  Scale中无for循环,只能使用while代替for循环,或者使用简易版的for语句。简易版for语句如下图,或者使用until,表达不达上限,也可以对字符串进行遍历,类似于java的增强for循环。

  Scala跳出循环:scala没有类似java的break,可以使用boolean类型变量、return或者Breaks的break函数来替代使用。

  

5、  高级for循环

  多重for循环:九九乘法表

  

  if守卫:取奇数

  

  for推导式:构造集合

  

2、scala条件控制与循环的更多相关文章

  1. Scala 条件控制与循环

    Scala if表达式 ·if表达式的定义:在Scala中,if表达式是有值的,就是if或者else中最后一行语句返回的值. ·例如,val age = 30; if (age > 18) 1 ...

  2. Scala入门系列(二):条件控制与循环

    条件控制与循环   if表达式 定义:if表达式是有值的,就是if或者else中最后一行语句返回的值. 例如:val isAdult = if (age > 18) 1 else 0 类型推断: ...

  3. 【scala】 scala 条件控制 和异常处理(二)

    1.scala 变量定义 ,var val 区别. var 定义可变变量 val 定义不可变变量,scala 推荐使用.相当于Java的final 变量. scala中包含的基本数据类型详情如下表所示 ...

  4. Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...

  5. Python - 条件控制、循环语句 - 第十二天

    Python 条件控制.循环语句 end 关键字 关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下: Python 条件语句是通过一条或多条语句的执行结果(True 或 ...

  6. Shell学习(三)——Shell条件控制和循环语句

    参考博客: [1]Shell脚本的条件控制和循环语句 一.条件控制语句 1.if语句 1.1语法格式: if [ expression ] then Statement(s) to be execut ...

  7. Shell脚本的条件控制和循环语句

    条件判断:if语句 语法格式: if [ expression ] then Statement(s) to be executed if expression is true fi 注意:expre ...

  8. python基础之条件控制与循环

    Python3 条件控制 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户 ...

  9. 04- Shell脚本学习--条件控制和循环语句

    条件判断:if语句 语法格式: if [ expression ] then Statement(s) to be executed if expression is true fi 注意:expre ...

随机推荐

  1. debian 7 安装

    1. 从 live cd 或者 dvd 进行安装,官方文档已经够用,可以将 live cd 写进 u 盘,也可以将 dvd 放到硬盘上通过 grub 引导启动安装,文档在这里. 2.安装过程中尽量选择 ...

  2. AtCoder ABC 085C/D

    C - Otoshidama 传送门:https://abc085.contest.atcoder.jp/tasks/abc085_c 有面值为10000.5000.1000(YEN)的纸币.试用N张 ...

  3. jquery源码分析(三)——工具函数

    jQuery.extend({ expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "&quo ...

  4. Dajngo——10 请求与响应 文件上传 GET和POST请求 类视图

    Dajngo——10 HttpRequest对象 HttpResponse对象及子类 form标签中的GET和POST GET提交方式 POST提交方式 request得GET和POST属性 文件上传 ...

  5. Leetcode 30.与所有单词相关联的子串

    与所有单词相关联的字串 给定一个字符串 s 和一些长度相同的单词 words.在 s 中找出可以恰好串联 words 中所有单词的子串的起始位置. 注意子串要与 words 中的单词完全匹配,中间不能 ...

  6. python在Linux中安装虚拟环境,区别python2和python3,分别安装模块

    安装虚拟环境的时候遇到的问题,解决的过程很闹心,在这里简单直接的分享出来,就是为了解决问题.  安装虚拟环境(须在联网状态下) $ sudo pip install virtualenv $ sudo ...

  7. extjs 4 chart 时间轴格式的处理

    var dayStore = Ext.create('Ext.data.JsonStore', { fields: [{ name: 'name', type: 'date', dateFormat: ...

  8. NTP-网络时间协议

    前言 搭建了一个linux虚拟机,发现跑着跑着时间有差异,查资料发现这个是正常的,因为系统时间和硬件时间是本地时间,会因各种原因导致跟标准时间UTC时间有差异,所以计算机界的牛人发明了NTP协议,专门 ...

  9. FOJ 10月赛题 FOJ2198~2204

    A题. 发现是递推可以解决这道题,a[n]=6*a[n-1]-a[n-2].因为是求和,可以通过一个三维矩阵加速整个计算过程,主要是预处理出2^k时的矩阵,可以通过这道题 #include <i ...

  10. 【2014秋季版】【辛星php】【0】清晰的认识一下PHP语言

    *********************PHP情结***************** 1.假设您和我经历非常相似,也可能会有这种PHP情结,为什么呢.由于我最先学习的是Java.然后学习了C++,开 ...