1. IDE的集成这里略去
2. HelloWorld入门程序
scala
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")
}
}
运行
bash
.\classes> scala com.zishi.scala.okk01.Scala01_HelloWorld
Hello Scala
注释
scala
/*
这是一个简单的测试程序,测试注释!
*/
object Test01_Comment {
/**
* 这里是多行注释
* 程序的入口方法
*
*
* @param args 外部传入的参数
*/
def main(args: Array[String]): Unit = {
//打印输出,单行注释
println("hello")
}
}
变量
scala
import com.zishi.scala.Student
object Test02_Variable {
def main(args: Array[String]): Unit = {
// 声明一个变量的通用语法
var a: Int = 10
//(1)声明变量时,类型可以省略,编译器自动推导,即类型推导
var a1 = 10
val b1 = 23
//(2)类型确定后,就不能修改,说明Scala是强数据类型语言。
var a2 = 15 // a2类型为Int
//a2 = "hello",报错!
//(3)变量声明时,必须要有初始值
//var a3: Int
//(4)在声明/定义一个变量时,可以使用var或者val来修饰,var修饰的变量可改变,val修饰的变量不可改。
a1 = 12
//b1 = 25
var alice = new Student("alice", 20)
alice = new Student("Alice", 20)
alice = null
val bob = new Student("bob", 23)
bob.age = 24
bob.printInfo()
//bob = new Student("bob", 24)
}
}
package com.zishi.scala
class 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()
}
}