• 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关键字同名也可以。

     

  • 相关阅读:
    pku 1077 Eight
    poj 1700 过河问题 贪心法
    字典树
    [转] 解读IntelliJ IDEA的优缺点
    【转】STL 容器类内部实现
    Google Chrome太强大了
    【转】从哈希存储到Bloom Filter
    [转]我的多年羽毛球自学心得
    好书推荐
    【转】C++错误中英文对照表
  • 原文地址:https://www.cnblogs.com/lx06/p/15840342.html
Copyright © 2020-2023  润新知