1. IDE的集成这里略去
2. HelloWorld入门程序
package com.zishi.scala.a01.okk01/*** package包,等同java中的package** object 声明对象(单例)* scala是一个完全面向对象的语言,java屮的靜态语法不是面向对象的。* scala语言没有静态语法。java语言的静态操作在scala中该如何使用?* scala采用新的关键字object来模拟静态语法,可以通过对象名称实现静态作* 如果使用object关键字声明一个对象,那么在编译时同时也会编译出对应class文件** Scala01_HelloWorld :单例对象名称,同时也是类名**/
object Scala01_HelloWorld {/*** def : scala语言中声明方法的关键字* main :Scala语言程序入口方法* main(...): 小括号表示方法参数列表,可以有参数,也可以没有参数,如果有多个参数,使用逗号隔开* args:Array[String]:方法参数** Array[String]:表示参数类型* scala语言是一个完全面向对象的语言,所以数组也是对象。也有自己的类型:Array scala语言中中括号中的String表示泛型*** def方法名称(参数名称: 参数类型): 返回值类型 = { 方法体 }** def main :Unit scala语言中方法的声明也符合scala的规则* 方法名 (参数列表):方法类型* scala语言是基于java开发,是一个完全面向对象语言。** Unit: 返回值类型,这里等同于Java中的Void* =: 赋值* {}: 方法体** @param args*/def main(args: Array[String]): Unit = {// 方法体println("Hello Scala")}
}
运行
.\classes> scala com.zishi.scala.okk01.Scala01_HelloWorld
Hello Scala
注释
/*这是一个简单的测试程序,测试注释!*/
object Test01_Comment {/*** 这里是多行注释 * 程序的入口方法* ** @param args 外部传入的参数*/def main(args: Array[String]): Unit = {//打印输出,单行注释println("hello")}
}
变量
import com.zishi.scala.Student
object Test02_Variable {def main(args: Array[String]): Unit = {// 声明一个变量的通用语法var a: Int = 10//(1)声明变量时,类型可以省略,编译器自动推导,即类型推导var a1 = 10val b1 = 23//(2)类型确定后,就不能修改,说明Scala是强数据类型语言。var a2 = 15 // a2类型为Int//a2 = "hello",报错!//(3)变量声明时,必须要有初始值//var a3: Int//(4)在声明/定义一个变量时,可以使用var或者val来修饰,var修饰的变量可改变,val修饰的变量不可改。a1 = 12//b1 = 25var alice = new Student("alice", 20)alice = new Student("Alice", 20)alice = nullval bob = new Student("bob", 23)bob.age = 24bob.printInfo()//bob = new Student("bob", 24)}
}package com.zishi.scalaclass Student(name: String, var age: Int) {def printInfo(): Unit = {println(name + " " + age + " " + Student.school)}
}//引入伴生对象
object Student {val school: String = "peking"def main(args: Array[String]): Unit = {val alice = new Student("alice", 222)val bob = new Student("bob", 333)alice.printInfo()bob.printInfo()}
}