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编译器自动识别语句结尾。
-
-
标识符命名规范:
-
-
-
字母下划线开头,后跟字母数字下划线,和C/C++/Java一样。
-
操作符开头,且只包含(+-*/#!等),也是有效的标识符。这样用会用什么奇怪的好处吗?答案是灵活到天顶星的运算符重载。
-
-
-