zoukankan      html  css  js  c++  java
  • Scala-idea搭建(一)

    1.plugin中安装scala插件

    2.项目设置

    1. project structure

    2. Global Libraies --> + --> Download 2.11.xx版本

    3. 右键、Copy to Project Libraies

    4. Libraies目录中会出现

    3.创建基本项目

    • scala -> IDEA

    基础知识

    1. object和classs区别

      • object相当于java中的静态

      • main方法要运行只能写到object中

    2. 输出语句print既可以写方法内,也可以写方法外

    3. $a可以取变量值

      • $a 3

      • ${a+4} 7

    4. 运行顺序

      package com.xiaoke.scala
      object TestScalaObject04 {
        private val xo:TestScalaObject05 = new TestScalaObject05()
        println ("ooxx>>>>>>>up")
        def main(args: Array[String]): Unit = {
          println("hello from TestScalaObject04... ")
          xo.printMsg()
        }
        println("ooxx     。。。。 down.......")
      }
      
      class TestScalaObject05 {
        var a:Int = 3;
        println(s"aa ...... up ....$a....")
        def printMsg(): Unit= {
          println("hello from msg")
        }
        println(s"aa ...... down${a+4}")
      }
      
      运行结果:
      aa ...... up ....3....
      aa ...... down7
      ooxx>>>>>>>up
      ooxx     。。。。 down.......
      hello from TestScalaObject04... 
      hello from msg
      
      运行顺序:
      方法外的常量都是静态,类似静态
      

        

    5. 类型
      Byte    8位有符号补码整数。数值区间为 -128 到 127
      Short    16位有符号补码整数。数值区间为 -32768 到 32767
      Int    32位有符号补码整数。数值区间为 -2147483648 到 2147483647
      Long    64位有符号补码整数。数值区间为 -9223372036854775808 到 9223372036854775807
      Float    32 位, IEEE 754 标准的单精度浮点数
      Double    64 位 IEEE 754 标准的双精度浮点数
      Char    16位无符号Unicode字符, 区间值为 U+0000 到 U+FFFF
      String    字符序列
      Boolean    true或false
      Unit    表示无值,和其他语言中void等同。用作不返回任何结果的方法的结果类型。Unit只有一个实例值,写成()。
      Null    null 或空引用
      Nothing    Nothing类型在Scala的类层级的最底端;它是任何其他类型的子类型。
      Any    Any是所有其他类的超类
      AnyRef    AnyRef类是Scala里所有引用类(reference class)的基类
    6. var和val
      1. var是变量
      2. val是常量,类似java中final
    7. 重写构造方法必须重写原来的构造
        var address = "xiaoke"
        def this(xaddress: String){
          this()
          address = xaddress
        }
    8. 修改常量
      1. 类名构造器中的参数就是类的成员属性,且默认是val类型,且默认是private

      2. 只有在类名构造中的参数可以设置成var,其他地方函数中的参数都是val类型的,且不允许设置成var类型
    9. 类名调用的是常量
      class ooxx(){
        val name = "wang";
        def message(): Unit ={
          println(s"a---- ${ooxx.name}")
        }
      }
      
      object ooxx{
        val name = "ke";
        val ox:ooxx = new ooxx();
        def main(args: Array[String]): Unit = {
          ox.message()
        }
      }
      
      结果: a---- ke

    为什么学scala?

    有同学问:
    学习scala就是为了多学一门语言吧?感觉不如python,不仅学习了语言,也学了工具,理解有哪些偏差?
    
    编译型  C <  贼快
    解释型  python  < 贼慢
    
    Java: 其实不值钱,最值钱的是JVM
    
    JAVA:  既是解释型、又是编译型, 所以比python快
    java为什么值钱? 是C写的, 【字节码(二进制) > JVM(堆/堆外(二进制)) < kernel(mmap,sendfile)】  更快!
  • 相关阅读:
    给入坑前端的新人的建议
    浅析js闭包
    mongoose之操作mongoDB数据库
    input模拟输入下拉框
    浅析AngularJS自定义指令之嵌入(transclude)
    vue-cli之打包多入口配置
    Node.js之图片上传
    移动端之模态框滚动穿透问题
    浅谈vue之动态路由匹配
    vuex数据持久化存储
  • 原文地址:https://www.cnblogs.com/bigdata-familyMeals/p/14352088.html
Copyright © 2011-2022 走看看