小记--------scala语言基础学习

scala与java的关系
    scala是基于java虚拟机,也就是JVM的一门编程语言,所有scala代码,都需要经过编译为字节码,然后交由java虚拟机来运行。
    所以scala和java是可以无缝互操作的。scala可以任意调用java代码,所以scala与java的关系是非常紧密的。
 
val 是常量,值不可变。后续可以使用
var是变量 , 值可变 。
在scala程序中建议使用val,  为提高健壮性和安全性
 
1.在声明变量时可以指定类型,如果不指定会自动生成。可以同时生成多个变量
 
2.基本数据类型:Byte/Char/Short/Int/Long/Float/Double/Boolean 统一都是类
scala会自己负责基本数据类型和引用数据类型的转换操作
 
3.函数调用方式
先进行隐式转换:import.scala.math._    (字符  _ 是通配符,类似java中的    *
再执行函数
 
4.在scala中调用函数时,如果不需要传递参数,则scala允许调用函数时省略括号的
例如:
 
5.apply函数
是一种特殊的函数,在scala的object中,可以声明apply函数。而使用'类名()'的形式,其实就是'类名.apply()'的一种缩写。通常使用这种方式来构造类的对象,而不是使用"new 类名()"的方式。
例如
 
 
6.if表达式的定义:在scala中if表达式是有值的,就是if或者else中最后一行语句就是要返回的值
 
7.if表达式的类型推断:如果if和else返回的值类型不同,此时scala会自动进行推断,取两个类型的公共父类型
Int和String类型的公共父类型是Any
 
如果if后面没有else,则默认else的值为Unit
Unit和String类型的公共父类型是Any
 
将if字句放到多行
如果if表达式一行写不完,逻辑较复杂的情况可以通过 {} 作为一行的分隔符
 
scala在默认情况下,scala不需要;进行结束。如果一行有多个值,则在值之间需要通过;进行分割。
 
8.块表达式:块表达式,指的就是{}中的值,其中可以包含多条语句,最后一个语句的值就是块表达式的返回值
 
9.输入和输出
readLine("hello")
 
print("ss") ; printLn("sss")
 
10.while do 循环
 
11.简易版for循环
until意思是 :不达到上限值:10
 
11.1跳出循环语句
先导入包:impor scala.util.control.Breaks._
 
多重for循环:九九乘法表
其中j<-1 to 9 属于内循环
 
 12.if守卫: 取偶数
 
 
posted @ 2020-04-11 18:42  于二黑  阅读(140)  评论(0编辑  收藏  举报