大数据开发---Scala总结1

1、idea初始配置:

1、统一字符编码

file-setting-editor-file Encoding-
global encoding(UTF-8)-
project enconding(utf-8)-
defalaut encoding for properties file(utf-8)

2、配置默认换行符

file-setting-editor-code style-line separator(unix and macOS)

3、字体大小

file-setting-editor-font-size字体大小(18)-line spacing行间距(1.1)

4、更改maven

file-setting-build,execution,deployment-maven-选择always update snapshots(总是更新屏幕快照)-不能选work office-
maven home directory:maven版本-user setting files :默认(不能有中文)-local repository:默认不能有中文

2、创建maven

1、file-new project-maven-JDK-groupID(com.atguigu)-artifactid(scala1015)-localion(目录地址)。

3、idea支持Scala开发

1、安装Scala:

file-setting-plugins-scala-install

2、配置Scala支持:

:右键Scala1015-add framework support-scala-use library-create-选择-或者browse-Scala位置-OK

3、创建一个目录,专门写Scala代码:

main右键-new-directory-scala-ok

4、把目录标记为源码:

scala右键-Mark directtory as-resorce root

5、创建包:

scala右键-new-package-com.atguigu.scala1015.day01

6、创建scala:

右键com.atguigu.scala1015.day01-new-scala class-object(对象)(class(类)/)-helloworld

7、执行代码:

java是定义类,然后再类中定义一个静态的main方法。
Scala没有静态的概念。创建对象,在对象中定义main方法。(main回车即可)

8、创建helloworld:

    package com.atguigu.scala1015.day01

object helloworld {
  def main(args: Array[String]): Unit = {
    println("helloworld")

}

9、绑定源码:

点击println-Choose sourse-Scala-2.11.8.tar.gz-OK

10、反编译:

,右键-show in explore-代码拉入jd-gui.exe-进行反编译。

11、Scala严格区分大小写。

Scala方法由一条一条语句构成的,分号可不写。

12、Scala官网-download-learn-tour of scala-langurge-简体中文

13、注释:

单行注释:// 多行注释:// 文档注释/ * **/ 注释量20%-30%占比

14、变量:

java:int a=10 常量 final int a=100 final 太监类 没有后代 不能有子类
Scala:声明变量 var a:int=10 声明常量 val b: int=100
注意:在scala中能用常量的地方就不要用变量。常量安全!!
声明的时候给变量和常量赋值
printin(a) 的快捷键a.sout tab
配置变量参数显示file-setting-Inlay Hints-scala-Parameter hint(参数类型)-show Parameter hint(显示参数)
alt + enter 万能快捷键

15、命名规范:

    1、使用JAVA的命名规则 标志符(变量,常量,对象,方法,函数) 数字字母(下划线慎用)驼峰(大驼峰:类  小驼峰:方法类)
     2、不要使用$,一些类会自动添加$
     3、支持使用运算符(+-/*)来命名标志符.在scala中没有真正的运算符 所有运算符都是对象的方法。
     4、字符和运算符不能混用 a++不允许 ,如果混用,可以用_隔开。
     5、可以使用 ` ` 定义任意字符,为了兼容java中的一些标志符。

16、github checkout项目。

    file-setting-system setting-reopen last project on startup(打开上次项目)-不选
    登录idea-get from version control-respository URL-version control:git-url-clone-ok (把目录标记为源码\配置JDK)
    VCS-update project-conflicts-accept theirs(接受他们的)-增量更新。

17、字符串的输入输出:

    java的输出 system.out.printLn("")  scala的输出:println("")   printf格式化输出 %d 输出整数 %s 输出字符串 %f 输出浮点数

18、字符串插值:

object string_1 {
  def main(args: Array[String]): Unit = {
//    val a:Int=20
//    printf("格式化输出 %d",a)
//    printf("浮点数 %f",math.Pi)
//    val a:Int=10
//    val b:Int=20
//    val s=s"a=${a*2},b=${b*3}"
//    val s="\\n"
    val s=raw"\n"

    println(s)
  }
}

19、IDEA编写Scala代码时自动显示变量类型:

settins -->Editor–> Code Style --> scala --Type Annotations-local definition

20、多行字符串

object string_2 {
  def main(args: Array[String]): Unit = {
//    val s =
//      """
//        |ffff
//        |ffff
//        |nnnnn
//        |nnnnn
//        |mmmm
//        |""".stripMargin
    val date ="2020-03-02"
    val s =
      s"""
         |select
         |*
         |from user
         |where date='$date'
         |""".stripMargin
    println(s)
  }
}

21、从键盘输入数据

import scala.io.StdIn

object input {
  def main(args: Array[String]): Unit = {
//    val scanner=new Scanner(System.in)    //JAVA方法
//    println(scanner.nextLine())
    val line  =StdIn.readLine("请输入你的银行卡密码:")
    println(line)
  }

}

22、数据类型:

       java 基本数据类型:
                      8大数据类型 byte 1 short 2  char 2  int 4  long 8   float 4  double 8  boolean 1(字节)
                       引用数据类型:对象类型、除了基本类型都是引用类型
       Scala 所有数据都是对象,函数也是对象

Any AnyVal Double …Unit(类型) 对应着java中的void 只有一个值就是:()一般用于方法或者函数不需要返回值的时候返回值。
StringOps 看成是string的加强版 当使用java的string时候,一些没有方法,会自动从这个类型中找。
AnyRef null 在java中可以给任何的引用类型赋值 在Scala中是所有AnyRef的子类型 只有一个值:null
Nothing:在Scala中,是所有类型的子类型 是一个象征意义,用于辅助类型推导,一般用于非正常结束情况的返回值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值