scala学习总结(1)

3.Scala运行原理
-先编译,再解释
- .scala源文件--->编译器(scalac)--->.class字节码文件--->JVM(scala 不同平台)--->机器指令

4.搭建Scala环境
-解压
-配置环境变量(SCALA_HOME,path)
-可以通过Scala提供的交互式命令窗口(REPL) 进行测试
-在idea上安装scala插件
*离线方式
*在线安装
-在Maven的module中添加scala支持


5.第一个HelloScala案例
object HelloScala{
def main(args:Array[String]):Unit = {
println("HelloScala")
}
}

对第一个Scala案例进行说明
>object
关键字,表示声明一个伴生对象
>Scala01_HelloWorld
伴生对象的名字,取名的时候需要符合标识符命名规则
>def
关键字 标识声明一个方法
>main
方法的名称
>(args: Array[String])
&args 参数名称
&Array[String]参数类型,在Scala语言中,[]表示泛型
&声明参数的时候,名称在前,类型在后,名称和类型之间用冒号分隔
>Unit
&返回值类型为空,相当于java语言中的void关键字
&Unit是一个类型,当前类型只有一个实例()
&参数列表和返回值类型之间,用冒号进行分隔
&返回值类型和函数体之间用等号进行连接
> println("HelloScala")
向控制台打印输出内容
在Scala语言中,语句结束不需要加分号
6.伴生对象
-从字面意思来讲,伴生对象就是伴随类产生的对象
-在scala中,没有static关键字,通过伴生对象模拟static关键字的实现
-当通过object名称定义一个伴生对象的时候,默认底层会编译生成两个字节码文件,一个是伴生类,
另一个是伴生对象所属类。实际我们所说的伴生对象是伴生对象所属类中定义的一个单例对象,然后
通过对象 .的方式访问属性或者方法等

-以后在scala程序中,如果要想实现static效果,那么我们应该将属性以及方法定义在伴生对象中

-------------------------------------------------------------------------------------------------
1.注释
-单行注释
-多行注释
-文档注释

2.变量和常量
-变量
var 变量名:数据类型 = 值

-常量
val 变量名:数据类型 = 值

3.标识符命名规范
-标识符
在程序中,程序员可以自己命名的地方

-和java的命名规则一样
*由字母、数字、下划线以及货币符号组成
*数组不能应用于首字符
*不能含有空格
*不能是关键字以及保留字

-可以有操作符号组成,并且只能包含操作符
-如果是关键字的话,需要使用``括起来

4.字符串输出
-println("") 通过+对字符串进行拼接
-printf(模板,参数) %d %f %s
-""" """ 保持字符串原样输出

插值字符串, 通过${}获取变量内容,在字符串前,需要加s|f|raw进行标记

5.获取键盘输入
StdIn.readXXX

6.数据类型
-Any
*AnyVal(值类型)
>Byte,Short,Int,Long,Float,Double,Boolean,Char
>Unit
表示返回值类型为空,相当于Java中的void关键字
>StringOps
对字符串功能的增强

*AnyRef(引用类型)
>所有Java语言中的类型
>Scala语言中的类
>集合

>Null
表示变量声明后,没有指向任何对象,相当于Java中null关键字
是所有AnyRef的子类,所以不能将null赋值给AnyValue

*Nothing
是所有类的子类,一般用于方法的返回值,表示当前方法没有正常返回的情况

7.运算符
-Java
*==比较的是对象的内存地址
*equals默认比较的也是对象的内存地址,但是一般我们会对其进行重写,比较对象的内容

-Scala
*==和equals比较的规则一样,都是比较对象的内容是否相等
*eq比较的是对象的内存地址

原文地址:https://www.cnblogs.com/guziteng1/p/14272510.html