当前位置: 首页 > news >正文

黄金网站软件入口免费轻淘客一键做网站

黄金网站软件入口免费,轻淘客一键做网站,流程图制作软件,兰州房地产网站建设1.8 表达式#xff08;重点#xff09; # 语句(statement)#xff1a;一段可执行的代码# 表达式(expression)#xff1a;一段可以被求值的代码#xff0c;在Scala中一切都是表达式 - 表达式一般是一个语句块#xff0c;可包含一条或者多条语句#xff0c;多条语句使用“… 1.8 表达式重点 # 语句(statement)一段可执行的代码# 表达式(expression)一段可以被求值的代码在Scala中一切都是表达式 - 表达式一般是一个语句块可包含一条或者多条语句多条语句使用“{}”包含语句间以“;”分隔称为块表达式 - 表达式有返回值 表达式和语句有什么区别 1.表达式有返回值语句被执行。表达式一般是一个语句块执行后返回一个值 scala if(true) true string else false string res4: String true string scala if(false) 5 else hello res5: Any hello 2.不使用return语句最后一个表达式即返回值 scala var i0 //可以认为是var i{0}   i: Int 0 ​ scala val a{ ii1 }  //块表达式中最后一条赋值语句返回了()值它是一个Unit类型 a: Unit () ​ scala val a{ ii1;ii1;i } //块表达式中最后一条语句返回i的值作为表达式的值 a: Int 2 如果用return会发生什么 scala if (i10) 100 else  -100 scala if (i10) return 100 else return -100 console:9: error: return outside method definitionif (i10) return 100 else return -100 1.8.1 if分支条件表达式 if-else表达式有值这个值就是跟在if或者else之后的表达式的值。 1.单分支 基本语法 if (条件表达式) {执行代码块} 说明当条件表达式为ture 时就会执行 { } 的代码。 val x 1 //如果缺失else相当于if(x2) 1 else //返回类型是AnyVal //如果进行类型判断和转换可以使用 //var b if(m.isInstanceOf[Int]) m.asInstanceOf[Int] else 0 val m if(x2) 1 println(m) ​ //在scala中每个表达式都有值scala中有个unit类写作相当于Java中的 void val n if(x2) 1 else () println(n) 2.双分支 基本语法 if (条件表达式) {执行代码块1 } else { 执行代码块2 } 说明当条件表达式成立即执行代码块1否则执行代码块2. var x 1 //将if/else表达式值赋给变量y val y if (x 0 ) 1 else -1 println(y) 3.多分支 基本语法 if (条件表达式1) { 执行代码块1 }   else if (条件表达式2) { 执行代码块2 } ……       else {执行代码块n } 示例 //if 嵌套 val  k if(x0) 0 else if (x1) 1 else -1 println(k) 混合类型表达式 //支持混合型表达式 //返回类型是Any val z if(x0) success  else  -1 println(z) 代码 package com.qianfeng.scala ​ /*** 代码块* 1、代码块中最后一行的值作为返回值如果最后一行为print()、赋值等语句则返回()* 2、所有代码中最后一行无需加retur语句就可以返回* 3、if() 该语句也默认有else ()*/ object Demo03_CodeBlock {def main(args: Array[String]): Unit {//代码块val a1 {val a 10val b 20ab}println(a1)val a2 {val a 10val b 20var c 300c a b}println(a2) ​//if() elseval age 17val ag1 if(age18) 成年println(ag1)val ag2 if(age18) 成年 else 0println(ag2)val ag3 if(age18) 成年 else {0println(aaa)}println(ag3) ​} } 小结 # 1.每个表达式都有一个类型 # 2.条件表达式有值 # 3.混合型表达式结果是Any或者AnyVal # 4.Scala没有switch语句但是有更强大的模式匹配 1.8.2 循环表达式 在Scala中有for循环和while循环用for循环比较多。 1.for循环 for循环语法结构 for(i - 表达式) i - 表达式 称为生成器可从集合中取出每个元素。与Java类似表达式的值必须为可遍历的迭代器Iterator[Any]包括数组、集合Range、List、Seq……等。以Range为例Range表示一种区间类型常用的两种创建方式为to和until val (i,j)(1,10) i to j //(包含i和j) i.to(j) i until j // (包含i,但不包含j) i.until(j) for(n - i to j) println(n) for循环嵌套for语句中可以有多个生成器 for (i - 1 to 3; j - 1 to 3) print ((10 * i j) ) for循环过滤器也称循环守卫 for (i - 1 to 3; j - 1 to 3; if (i ! j)) print ((10 * i j) ) for (i - 1 to 3; j - 1 to 3; if(i ! j);if(j3)) print ((10 * i j) ) for (i - 1 to 3; j - 1 to 3  if i ! j  if j3) print ((10 * i j) ) yield循环体也称for推导式。Scala中的yield的主要作用是记住每次迭代中的有关值并逐一存入到一个数组中。 用法如下: for {子句} yield {变量或表达式} lazy val retValfor ( i - 1 to 10; if i%20;if i5 ) yield i ​ for(a-retVal){println(a); } 示例 object ForDemo def main(args: Array[String]){//每次循环将区间的一个值赋给ifor( i - 1 to 10)println(i)for( i - 1 until 10)println(i) ​//for i -数组val arr Array(a, b, c)for( i - arr)println(i) ​val s hellofor(i - 0 until s.length){println(s(i))}// 或者// for(c - s)println(c)  // 或者// for(i - 0 until s.length){// println(s.charAt(i))// }//高级for循环(嵌套循环加过滤功能)for(i - 1 to 3 ; j- 1 to 3 if i ! j){print((10*i j) )println()}//for推导式如果for循环的循环体以yeild开始则该循环会构建出一个集合或者数组每次迭代生成其中一个值。val v for ( i - 1 to 10 )yield i*10println (v)} } 2.while循环和do...while循环 while循环语法 while (条件语句){表达式} do...while循环语法 do{表达式}while条件语句 //求和 //while实现 val i1     var sum 0 whilei10{sum ii 1 } printlnsum //do ... while实现 do {sum ii 1 }while (i10) 完整代码 package com.qianfeng.scala ​ /*** 循环*/ object Demo04_ForAndWhile {def main(args: Array[String]): Unit {//单层循环for (i - 1 to 10)print(i\t) ​println()for (i - 1.until(10))print(i\t)println() ​ ​//双重循环for (i - 1 to 3;j - 1 to(3))print(i*100j\t) ​//双重循环并加过滤条件多层循环之间需要使用;分割而条件判断部分不需要也可以println()for (i - 1 to 3; j-1 to 3;if(i !j))print(i*100j\t)println() ​//推倒式val res for (i - 1 to 10;if (i%20)) yield i*10for (i-res)print(i\t)println() ​//集合循环for (i - Array(1,2,5,6,3))print(i\t)println() ​//while循环var sum 0while (sum 10){sum 1print(sum \t)}println() ​//do whilevar i 0do {i 1print(i|)} while (i 10)println()} } 3.循环停止的三种方式 # 1.使用return # 2.使用Boolean变量 # 3.使用breakable块 示例 object BreakLoopDemo {def main(args: Array[String]): Unit {//方式2 使用Boolean变量 这个方式只能使用在while或do-while中,for也行但是需要加守卫ifvar flag truevar n 0 //计数while(flag){  //死循环//让n自增n 1println(n)if(n 10){flag false}         } //for循环版var flag1 truefor(i - 0 to 10 if  flag){println(i)if (i 7){flag1 false}}//方式3 使用breakable块//Scala中是没有break和continue关键字//想使用break,必须导入一个包//正在Scala认为位置都可以导入包   _ 相当于Java导入包是的*import  scala.util.control.Breaks._breakable{ //使用break块for(i - 1 to 10){if( i 7){break}}} } } Guff_hys_python数据结构,大数据开发学习,python实训项目-CSDN博客
http://www.dnsts.com.cn/news/58622.html

相关文章:

  • 上海做网站的多吗哈尔滨制作网站的公司
  • ipv6改造网站怎么做怎样在百度建立自己的网站
  • 太原网站建设ty556网站建设行吗
  • 南京个人做网站360网站seo怎么做
  • dede查看网站网络服务中心
  • 网站开发所需要的语言wordpress招商主题
  • 罗湖商城网站设计价格台州做网站哪家公司好
  • 网站制作论文优帮云wordpress 百度主题
  • 定制彩票网站开发福清营销型网站建设方案
  • 建设银行社保网站烟台网站建设便宜臻动传媒
  • 洱源名师工作室网站建设网站备案 教程
  • 怎么投诉网站制作公司彩页设计图片模板
  • 如何做好外贸网站建设关键词排名优化技巧
  • 公司网站建设设计公司哪家好石家庄搜索引擎优化公司
  • 网站定制化开发介绍引用网站信息怎么做备注
  • 温州电子网站建设网站模糊设计
  • 网站建设空间申请云服务器是否可以做多个网站
  • 北京市地铁建设公司网站西安网络安全公司排名
  • 石岩附近网站建设公司电商网站开发服务器
  • 广州网站推广团队做兼职最好的网站有哪些
  • 自己做视频网站 在优酷推广网站建设需要准备什么
  • 深圳网站建设的客户在哪里织梦网站做视频
  • wordpress播放记时插件seo根据什么具体优化
  • 共享充电宝开发网站东莞优化建设
  • 调查队网站建设wordpress目录和页面
  • 下载软件的网址seo关键词挖掘工具
  • 国家商标查询官方网站长链接转短链接生成器
  • 做分销网站系统下载如何网站开发
  • 做网站的一个专题滨海县城乡建设局网站
  • 广西美丽乡村建设网站娱乐网站设计多少行业