目录
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
1.输出语句和分号
1.1输出语句
方式一:换行输出
格式: println(里边写你要打印到控制台的数据) ;
方式二:不换行输出
格式: print (里边写你要打印到控制台的数据);
注意: 不管是pr int1nO.还是print(语句 ,都可以同时打印多个值.格式为: printIn(值1, 值2,值3...)
1.2分号
Scalai语句中,单行代码最后的分号可写可不写.如果是多行代码写在-行则中间的分号不能省略,最后一条代码的
分号可省略不写.
示例:
print1n("Hello,Scala!") //最后的分号可写可不写
//如果多行代码写在一行,则前边语句的分号必须写,最后一条语句的分号可以省略不写.
printIn("He11o"); printIn("scala")
2. Scala中的常量
2.1概述
常量指的是:在程序的运行过程中,其值不能发生改变的量.
2.2分类
●字面值常量(常用的有以下几种)
。整型常量
。浮点型常量
。字符常量
。字符串常量
。布尔常量
。空常量
●自定义常量(val)
2.3代码演示
//整型常量
println(10)
//浮点型常量
println(10.3)
//字符常量,值要用单引号括起来
println('a')
//字符串常量,值要用双引号括起来
println("abc")
//布尔常量,值只有true和false
println(true)
//空常量
println(null)
3. Scala中的变量
3.1概述
我们将来每一天编写scala程序都会定义变量, 那什么是变量,它仅是如何定义的呢?
变量,指的就是在程序的执行过程中,其值可以发生改变的量.见下面的定义格式 :
3.2语法格式
Java变量定义
int a=0;
在scala中,可以使用va1或者var来定义变量,语法格式如下:
val/var变量名:变量类型 = 初始值
其中
●val定义的是不可重新赋值的变量,也就是自定义常量.(相当于Java中的被final修饰的变量)
●var定义的是可重新赋值的变量
注意: scala中定义变量时, 类型写在变量名后面
3.3示例
需求:定义一个变量保存一个人的名字"tom"
步骤
1.打开scala解释器
2.定义一个字符串类型的变量用来保存名字
参考代码
scala> val name:String = "tom"
name: String = tom
3.4 val和var变量的区别
**示例**
给名字变量进行重新赋值为im,观察其运行结果
参考代码
scala> name = "Jim"
<console>:12: error: reassignment to va1
name = "Jim"
示例
使用var重新定义变量来保存名字"tom",并尝试重新赋值为Jim,观察其运行结果
参考代码
scala>
var name:String = "tom'
name: String = tom
scala> name = "Jim"
name: String = Jim
注意: 优先使用val定义变量,如果变量需要被重新赋值,才使用var
3.5使用类型推断来定义变量
scala的语法要比Java简洁,我们可以使用一种更简洁的方式来定义变量。
示例
使用更简洁的语法定义一个变量保存一个人的名字"tom"
参考代码
scala> va1 name = "tom"
name: String = tom
scala可以自动根据变量的值来自动推断变量的类型,这样编写代码更加简洁。
4.字符串
scala提供多种定义字符串的方式,将来我们可以根据需要来选择最方便的定义方式。
●使用双引号
●使用插值表达式
●使用三引号
4.1使用双引号
语法
va1/var变量名=“字符串"
示例
有一个人的名字叫"hadoop",请打印他的名字以及名字的长度。
参考代码
scala> println(name + name . length)
(hadoop,6)
4.2使用插值表达式
scala中,可以使用插值表达式来定义字符串,有效避免大量字符串的拼接。
语法
scala中,可以使用插值表达式来定义字符串,有效避免大量字符串的拼接。
语法.
val/var变量名= s"${变量/表达式}字符串"
注意:
●在定义字符串之前添加s
●在字符串中,可以使用${ }来引用变量或者编写表达式
示例
请定义若干个变量,分别保存: "zhangsan"、 23、 "male", 定义一个字符串,保存这些信息。
打印输出: name= zhangsan, age= 23, sex=male
参考代码
scala> val name = " zhangs an"
name: String = zhangs an
scala> val age = 23
age: Int = 23
scala> val sex= "male"
sex: String = male
scala> val result = s"name=${name}, age=${age}, sex=${sex}"
result: String = name=zhangsan, age=23, sex=male
scala> println(result)
name= zhangsan, age=23, sex=male
4.3使用三引号
如果有大段的文本需要保存,就可以使用三引号来定义字符串。例如:保存一大段的SQL语句。 三个引号中间的所有内容都将作为字符串的值。
语法
val/var变量名="""字符串1
字符串2"""
示例
定义一个字符串,保存以下SQL语句
select *
from t_user
where name = "zhangsan"
在scala中的语法为
val sql =
"""
| select *
| from t_user
| where name = "Zhangsan"
|""".stripMargin
4.4扩展:惰性赋值
在企业的大数据开发中,有时候会编写非常复杂的SQL语句,这些SQL语句可能有几百行甚至上千行。这些SQL语句,如果直接加载到VM中,会有很大的内存开销, 如何解决这个问题呢?
当有一些变量保存的数据较大时,而这些数据又不需要马上加载到VM内存中。就可以使用惰性赋值来提高效率。
语法格式:
lazy val/var 变量名=表达式
在程序中需要执行一条 复杂的SQL语句, 我们希望只有用到这个SQL语句才加载它。
4.5 整型实例
//标准定义:
var a : Int = 1
// (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 //这句是错的,常量不能重新赋值