前面我们已经完成了scala的第一个程序,本文将在其基础之上阐述scala的基本语法。
1 系统、软件以及前提约束
- win10 64位
- 已在idea中完成scala的helloworld程序
https://www.jianshu.com/p/ec64c70e6bb6
2 操作
- 1 数据类型
scala当中有以下类型:Byte【字节整型】, Short【短整型】, Int【整型】, Long【长整形】, Float【浮点型单精度】, Double【浮点型双精度】, Char【字符型】, Boolean【布尔型】, String【字符串】,Unit【方法的返回类型,类似void】,Null【空】,Nothing【所有类的子类】,Any【所有类的父类】,AnyRef【引用类的基类】。
其中前面八种都有对应的富包装类。 - 2 变量申明
在命令行中输入以下内容:
# 使用val声明一个变量,刚开始就要赋值,不能被重新赋值
val name:String = "wanhe";
# 再次申明一个变量,无需加入类型
val age = 25;
# 使用var声明一个变量,刚开始需要赋值,可以被重新赋值
var city = "lanzhou"
# 再次被重新赋值
school="nanjing"
- 3 打印和接收键盘输入
# 接受键盘输入
var name=readLine("请输入你的名字:");
var age = readInt(""请输入你的年龄:);
# 打印,不换行
print(name);
# 打印,换行
println(age);
# 以c语言的方式打印
printf("%s is my name and my age is %d", name, age);
- 4 运算符
与其他语言一样,scala语言的运算符包括算术运算符【加+,减-,乘*,除/ , 取余%】,关系运算符【大于>,小于<,等于==,大于等于>=,小于等于<=,不等于!=】,逻辑运算符【与&&,或||,非!】,位运算符【与&,或|,非~,异或^】,赋值运算符【=】
print(1+2);
print(1>2);
print(true && 1==1);
print(1&0);
- 5 分支判断
var x = 8;
if(x>10)
{
println("The number is greater than 10");
}
else
{
println("The number is not greater than 10");
}
- 6 for循环
# 打印1到5
for(i<- 1 to 5) println(i)
# 打印1到10的奇数
for(i<-1 to 10 by 2) println(i)
# 打印1到10的偶数
for(i<-1 to 10 if i%2==0) println(i)
# 打印乘法口诀
for(i<- 1 to 9;j<- 1 to i) if(i==j)println(i+"*"+j+"="+i*j+" ") else print(i+"*"+j+"="+i*j+" ")
* 7 跳出整个循环
在idea中创建一个TestWhile1.scala的类
//声明一个数组,赋值为1到10
var array = Array(1,2,3,4,5,6,7,8,9,10);
breakable{
for(i<-array)
{
if(i%2==0)
break;//相当于java中的break
println(i)
}
}
//该程序只打印1
* 8 终止本次循环
在idea中创建一个TestWhile1.scala的类
//声明一个数组,赋值为1到10
var array = Array(1,2,3,4,5,6,7,8,9,10);
for(i<-array)
{
breakable{
if(i%2==0)
break;//相当于java中的break
println(i)
}
}
//该程序打印1,3,5,7,9
* 9 while循环
在命令行里面输入以下语句,每行回车:
var i=10
while(i>5)
{
i=i-1
printf("i is "+i)
}
再次输入
var i=10
{
i=i-1
printf("i is "+i)
}while(i>5)
* 10 写文件
在命令行里面输入以下语句,每行回车:
import java.io.PrintWriter
val out = new PrintWriter("info.txt")
out.println("jiangsuwanhe")
out.println("Iamzhangli")
out.close()
查看本文件夹下的info.txt
* 11 读文件
在命令行里面输入以下语句,每行回车:
import scala.io.Source
val in= Source.fromFile("info.txt")
val lines=in.getLines
for(line<-lines) println(line)
info.txt的内容将被打印
以上就是scala的一些基本语法,注意每行的分号可有可无。