Scala
1、Scala object相当于java中的单例,object中定义的全是静态,相当于Java里的工具类,object不可以传参,对象要传参要有apply方法,apply方法可定义多个
2、Scala中变量使用var,常量使用val,常量不可变,变量可变
3、Scala中每行后面有分号推断机制,不用显示写出
4、建议在Scala中命名使用驼峰命名法
5、Scala类中可以传参,传参一定要指定类型,有了参数就有了默认构造,类中的属性默认有getter和setter方法
6、类中重写构造,构造中第一行必须先调用默认构造.def this(参数)
7、Scala当new class时,除了构造方法不执行,其他方法都执行
8、在同一个scala文件中,class名称和object名称一样时,这个类叫做这个对象的伴生类,这个对象叫做这个类的伴生对象,他们之间可以互相访问私有变量
class Persion(xname:String,xage:Int){
val name = xname
val age = xage
var sex ='M'
def this(yname:String,yage:Int,ysex:Char){
this(yname,yage)
this.sex=ysex
}
def sayName(): Unit ={
println("hello world!"+Demo1.name)
}
}
object Demo1 {
val name = "王五"
def apply(i: Int): Unit = {
println("value is" + i)
}
def main(args: Array[String]): Unit = {
//println("hello world!")
//Demo1(100)
// var p = new Persion(xname = "zhangsan",xage = 20)
// val p1 = new Persion(yname="lisi",yage=18,ysex='F')
// println(p.name)
// println(p.age)
// p.sayName()
// val a:Int =100
// println(a)
/**
* while
* do while
*/
var i=0
while (i<100){
println(s"第 $i 次求婚!")
i += 1
}
/**
* for循环
*/
println("###################for循环######################")
// 小九九
for (i <- 1 to 9){
for (j <- 1 until 10){
if (i >= j){
print(s"$j*$i="+i*j+"\t")
}
if (i == j){
println()
}
}
}
for (i <- 1 to 9; j <- 1 until 10) {
if (i >= j) {
print(s"$j*$i=" + i * j + "\t")
}
if (i == j) {
println()
}
}
for(i <- 1 to 100 if(i>50) if(i%2==0)){
print(i+" ")
}
println()
val result = for(i <- 1 to 100 if(i>50) if(i%2==0)) yield i
println(result)
/**
* if else
*/
println("###################if else语句############################")
val sex = 25
if(sex<=24){
println("Sex<24")
}else if (sex >24&sex<30){
println("sex >24&sex<30")
}