Scala语言 学习记录(一)

1、scala项目结构

 

2、hello world第一个程序

object HelloWorld {
  def main(args: Array[String]): Unit = {
    println("hello world")
    System.out.println("aaaa")
  }
}

3、与Java程序对比

public class Student {
    private String stuname;
    private String stupwd;
    private static String school="aiaaiai";

    public Student(String stuname, String stupwd) {
        this.stuname = stuname;
        this.stupwd = stupwd;
    }

    public void printinfo(){

        System.out.println(this.stuname+"   "+this.stupwd+"  "+Student.school);
    }

    public static void main(String[] args) {
        Student nnn = new Student("nnn", "sss");
        Student iii = new Student("iii", "ooo");
        nnn.printinfo();
        iii.printinfo();
    }
}

4、变量、常量和数据类型

1、变量var、常量val:

package com.demo2

import com.demo1.Student
/**
 * @author June
 * @date 2022/1/24 16:31
 */
object Test2 {
  //声明一个变量的通用语法
  def main(args: Array[String]): Unit = {
    var a: Int = 3
    //声明变量时,类型可以省略,编译器自动推导、即——类型推导
    var a1 = 10   //Int类型:变量
    //类型一旦确定后,就不能修改、说明scala是强数据类型语言
    var a2 = 15   //
    //变量声明时必须要有初始值(Scala语言的特性之一)

    //错误定义方法 {:var a3:Int

    //在声明定义一个变量时,可以使用var或者val来修饰,
    // 1、var修饰的变量可改变、
    // 2、val修饰的变量不可改
    val a4 = 33
    //错误赋值: a4 = 83
    var ali  = new Student("sds",3)
        ali.printinfo()
        ali  = new Student("sssds",333)
        ali.printinfo()
    val alice  = new Student("sds",3)
        alice.printinfo()
        alice.name = "ni"
        alice.age = 5
        alice.printinfo()
  }
}

  2、声明变量时的部分规则:

package com.demo2

/**
 * @author June
 * @date 2022/1/24 16:52
 */
/*
*   变量定义、方法定义、关键字
* */
object Test3 {
  def main(args: Array[String]): Unit = {
    //以字母或者下划线开头、后接字母、数字、下划线
    val hello: String= "wmnfdfdj"
    var helloe = ""
    val _abst = 333

/*  错误定义样例
    val h-b = ""
    val 2321sdf  = 2432
*/
    //以操作符开头、且只包含符(+ - * / # !等)
    val -+/ = "hello"
    println(-+/)
    //用反引号`....`包括任意的字符串、即使是Scala的关键字也可以
    val `id`:String = "isdfsd"
    println(`id`)
  }
}

 

   3、笔记转载如下:

 

因为Scala的函数式编程要素,所以一个指导意见就是能用常量就不要用变量。

 

      • 声明变量时,类型可以省略,编译器会自动推导。

      • 静态类型,类型经过给定或推导确定后就不能修改。

      • 变量和常量声明时,必须有初始值。

      • 变量可变,常量不可变。

      • 引用类型常量,不能改变常量指向的对象,可以改变对象的字段。

      • 不以;作为语句结尾,scala编译器自动识别语句结尾。

 

标识符命名规范:

 

      • 字母下划线开头,后跟字母数字下划线,和C/C++/Java一样。

      • 操作符开头,且只包含(+-*/#!等),也是有效的标识符。这样用会用什么奇怪的好处吗?答案是灵活到天顶星的运算符重载。

      • 用反引号包括的任意字符串,即使是同39个Scala关键字同名也可以。

 

posted @ 2022-01-24 17:36  往心。  阅读(44)  评论(0编辑  收藏  举报