一、Scala程序的开始->HelloScala

  这里的操作如同java的helloworld程序,直接放代码!

object HelloScala{
def main(args:Array[String]){
println("HelloScala")
}
}

  在命令行操作中输入命令:

  scalac HelloScala.scala

  scala HelloScala

二、Scala的数据类型

  Scala与java相同,有八种基本数据类型:

  Byte/Char/Short/Int/Long/Float/Double/Boolean

  还有Unit类型(与java中void相似),表示无值,主要用于不返回任何结果的结果类型

  注意:Scala中没有包装类

三、Scala定义变量

  两个关键字:val、var

  val:定义的变量值是不可变的

  var:定义的变量值是可变的

  eg.  val a:Long = 1    var b:String = "我很帅"

  注意:Scala编译器会自动的推断数据类型!!

  eg.  val a = 1 (a自动为Int类型)

      var s = "you are ugly" (s自动为String类型)

         val h = println("cool")  (h自动为Unit类型)

四、条件表达式(一下命令都是在windows命令行操作中运行的)

  if语句:

  val x = 2

  val y = if(x>0) 1 esle 2

  val m = if(x<0) -1 if(x>1) 1 else 0

  混合类型:

  val z = if(x>0) "true" else 1

  输出语句为: z:Any = "true"

  注意:Any相当于Java中的object基类,它包含Anyval和AnyRef

       Anyval:包含scala所有类型、AnyRef:包含Scala clsaaes与Java classes

五、块表达式

  相当于java中的程序快,在Scala中用{}包裹的一些列表达式及块表达式,块中最后一个表达式的值就是块的值。

  可以在idea中创建Scala工程展示

  sbt版本:1.1.0  scala版本:2.11.8

  创建Scala类注意,kind类型选择object

六、循环(一下是在Windows命令行操作中运行,其中”<-“相当于java中for循环变量的意思)

  val rs = 1 to 10  //Scala会创建一个包含从1到10的10个元素的数组rs

  for (x <- rs) println(x)  //便利数组rs,并输出每个元素

  val arr = Array(1,3,5)  //创建不可变数组arr,包含1,3,5三个元素

  for (i <- arr) println(i)  //便利数组arr并输出每个元素

  高级for循环:

  for(i <- 1 to 5 ;j <- 1 to 10 if i != j) print((10 * i + j) + " ")

  

  for(i <- 1 to 10) yield i*10    //关键字yield:生成一个新的集合

  val ab = for(i <- 1 to 10;if(i % 2 == 0)) yeild i

  

  注意:1 to 10  同 1.to(10) 表达的意思是一样的,to是一个方法,在Scala中可以省略“.”

  1.to(10).map(_*100)    //创建一个元素为1到10的集合并将每个元素都乘以100

  map:取出元素  _:代表集合中的元素

七、运算符

  在Scala中,+、-、*、/、%的作用和Java中是一样的,但特别的是他们都是方法

  eg.  1 + 2  和  1.+(2)  的结果是一样的

object ScalaDemo2{
def mian(args:Array[String]):unit={
println(m1(1,6))
println(m2(3,6))
} def m1(a:Int,b:Int):Int={
a+b
} def m2(a:Int,b:Int):Int=a*b }

  

  

Scala-Unit-2-Scala基础语法1的更多相关文章

  1. Spark入门到精通--(第二节)Scala编程详解基础语法

    Scala是什么? Scala是以实现scaleable language为初衷设计出来的一门语言.官方中,称它是object-oriented language和functional languag ...

  2. Scala - 快速学习03 - 基础语法

    1- 变量 变量 mutable variable 在程序运行过程中其值可能发生改变的量 关键词var定义变量,定义时直接进行求值 常量 immutable variable 在程序运行过程中其值不会 ...

  3. Scala(二)——基础语法(与Java的区分)和函数式编程

    Scala快速入门(二) 一.键盘输入 关于基本类型的运算,以及复制运算,条件运算,运算符等知识,均和Java语言一样,这里不过多叙述. val name = StdIn.readLine() Std ...

  4. Scala学习教程笔记一之基础语法,条件控制,循环控制,函数,数组,集合

    前言:Scala的安装教程:http://www.cnblogs.com/biehongli/p/8065679.html 1:Scala之基础语法学习笔记: :声明val变量:可以使用val来声明变 ...

  5. 【Scala学习之一】 Scala基础语法

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk1.8 scala-2.10.4(依赖jdk1.8) spark ...

  6. Scala简介及基础语法

    一.scala简介 官网:https://www.scala-lang.org/ Scala语言很强大,集成了面向对象和函数式编程的特点. 运行在JVM(jdk). 大数据中为什么学习scala? s ...

  7. 1.scala基础语法总结

    Scala基础语法总结:Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的.如果一行里写多个语句那么分号是需要的 val s = "菜鸟教程"; pr ...

  8. Scala学习(一)——基础语法

    Scala语言是一种面向对象语言,结合了命令式(imperative)和函数式(functional)编程风格,其设计理念是创造一种更好地支持组件的语言. 特性 多范式(Multi-Paradigm) ...

  9. Scala基础语法 (一)

    如果你之前是一名 Java 程序员,并了解 Java 语言的基础知识,那么你能很快学会 Scala 的基础语法. Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的. 我 ...

  10. Scala入门系列(一):基础语法

    Scala基础语法 Scala与JAVA的关系 Scala是基于Java虚拟机,也就是JVM的一门编程语言,所有Scala的代码都需要经过编译为字节码,然后交由Java虚拟机来运行. 所以Scala和 ...

随机推荐

  1. TCP和UDP的对比

    UDP #面向报文 UDP 是一个面向报文(报文可以理解为一段段的数据)的协议.意思就是 UDP 只是报文的搬运工,不会对报文进行任何拆分和拼接操作. 具体来说 在发送端,应用层将数据传递给传输层的 ...

  2. LuoGu P2002 消息扩散

    题目传送门 这个题其实就是tarjan缩点的板子题对吧....至少我是这么想的 首先这是个有向图,对于一个有向图,我们肯定要考虑环的存在与否,恰好这个题又是让我们找出最少的点,使得这几个点能够走遍全图 ...

  3. Confluence 6 Windows 中以服务方式自动重启的原因

    针对长时间使用的 Confluence,我们推荐你配置 Confluence 自动随操作系统重启而启动.针对一些 Windows 的服务器,这意味着需要让 Confluence 以服务的方式运行. 有 ...

  4. Confluence 6 管理员联系表单的后台配置界面

    管理员联系表单的后台配置界面截图和配置. 对输入的数据进行编辑和选择是否启用发送电子邮件给管理员 https://www.cwiki.us/display/CONFLUENCEWIKI/Configu ...

  5. 【层次聚类】python scipy实现

    层次聚类 原理 有一个讲得很清楚的博客:博客地址 主要用于:没有groundtruth,且不知道要分几类的情况 用scipy模块实现聚类 参考函数说明: pdist squareform linkag ...

  6. Python实操二

    实操一: 1.用map来处理字符串列表啊,把列表中所有人都变成sb,比方alex_sb name=['alex','wupeiqi','yuanhao'] name=['alex','wupeiqi' ...

  7. javadoc 标签功能

    CMD文档注释编译命令: javadoc -d text Helloword2.java(text 是保存标签文档的文件夹,可以写) javadoc -d doc -encoding UTF-8 -c ...

  8. bzoj 4715

    其实我并没有见过原题,只是因为...这被改编成了互测题... 题目中提到了一个序列,这个序列是很重要的,否则这个问题好像是没有合理的时间复杂度解法的 但正因为有了这个序列,这个问题的时间复杂度才让人能 ...

  9. 20165314 2016-2017-2 《Java程序设计》第3周学习总结

    20165314 2016-2017-2 <Java程序设计>第3周学习总结 教材学习内容总结 类体包含成员变量和域变量 局部变量只在方法内有效 对象的创建以及对象对自己变量和方法通过用. ...

  10. Java+selenium之WebDriver的常用方法封装(八)

    总结:WEB UI自动化测试一般采用 POP(面向页面编程),自动化测试框架分三层,有时如果页面如果太多,不好管理,可以面向控件编程,即把控件当作页面,毕竟控件是有限的,所以封装页面的代码量会少很多, ...