• 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比较的是对象的内存地址

  • 相关阅读:
    继承
    JAVA接口的继承与集合
    JAVA接口
    c++程序—敲桌子
    c++程序—水仙花数
    c++程序—while猜数字游戏
    c++程序—switch分支
    c++程序—三目运算符
    c++程序—if语句实践
    c++程序—选择结构
  • 原文地址:https://www.cnblogs.com/guziteng1/p/14272510.html
Copyright © 2020-2023  润新知