scala基础

声明变量

Scala中声明变量的格式:

var 变量名=初始值                val 变量名 = 初始值
var 变量名:数据类型=初始值        val变量名:数据类型 = 初始值
scala> val user:String="jdfs"
user: String = jdfs

scala> val name="kkk"  ##声明未指定类型时,scala会自己判断数据类型
name: String = kkk

scala> var money=1000
money: Int = 1000

scala> money=10003
money: Int = 10003

scala> name="dfs"
<console>:12: error: reassignment to val
       name="dfs"
           ^

scala> 

小结: val和var的区别
使用var关键字声明的变量,可以对该变量的值进行修改
使用val关键字声明的变量(相当于常量),不可以对该变量的值进行修改

scala> val a = 10.asInstanceOf[Double]	## 转换数据类型 
a: Double = 10.0

scala> val b = 10.isInstanceOf[Double] ## 判断数据类型
b: Boolean = false
常用数据类型

Byte Char Short Int Long Float Double Boolean String

函数、方法

默认参数:
在Scala中允许在定义函数时,给函数中的参数设定默认值。在调用函数时如没有给带有默认值的参数传值,则会使用函数的默认参数值
格式:def 函数名(参数:参数类型=默认值 , 参数:参数类型=默认值) : 返回值类型 =
{
函数体
}
在这里插入图片描述
可变参数:
Scala 允许你指明函数的最后一个参数可以是重复的,即我们不需要指定函数参数的个数,可以向函数传入可变长度参数列表。
语法格式: def 函数名( 参数 : 参数类型* ): 返回值类型 = { … }
Scala 是通过在参数的类型之后放一个星号来设置可变参数(可重复的参数)。

函数的定义格式:

 def 函数名(参数1:类型 , 参数2:类型 , …) : 返回值类型 ={
   函数体代码实现
}

函数用法:
注意:函数中参数默认是使用val定义,不能对参数的值进行修改

###有参函数
def sum(x:Int,y:Int):Int={
    x+y # 最后一行代码的执行结果作为返回值
  }
###简化写法 ,不写明返回值类型时,程序会自行判断
def sum(x:Int,y:Int)={
    x+y
  }
 ### 简化写法,当函数体只有一行代码时,可以这么写。
  def sum(x:Int,y:Int)=x+y
### 
###无参函数
def sayhello():Unit={
    println("ddd")
  }
  ###同样可以简化
  def sayhello=println("ddd")
  
循环表达式

to:
左闭右臂

scala> 1 to 10
res0: scala.collection.immutable.Range.Inclusive = Range(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

也可写成
1.to(10)
range:

左闭右开

scala> Range(1,10,1) #第三个参数为步长
res2: scala.collection.immutable.Range = Range(1, 2, 3, 4, 5, 6, 7, 8, 9)

until:
等同range
也可写成1.until(10)

scala> 1 until 10
res0: scala.collection.immutable.Range = Range(1, 2, 3, 4, 5, 6, 7, 8, 9)

for语句:
for语句循环结构:for( i <- 表达式/数组/集合)

for(i <- 1 to 10){}
for(i <-1 to 10 if i%2==0){}

对象

类的简单定义:

class people(val name:String,val age:Int){
	//var name:String = _ // name肯定是一个字符串类型
	val city=""
	def sleep()={
	name + "zzzzz"
}

构造器
scala中的每个类都有一个主构造器,主构造器的参数直接放置类名后面,与类交织在一起。
注意:主构造器会执行类中定义的所有语句

class Student(val n:String,var a :Int){
	
	var age : Int = a
	println("执行主构造器")
	var sex: String =_ //表示占位符,只有在var声明时才可以使用,声明时一定要写上数据类型,编译器会赋予相应的初始值
	def this(n:String,a:Int,sex:String){ #辅构造器
		this(n,a)//第一行必须写调用主构造器的代码
		println("执行辅构造器")
		this.sex=sex
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值