Scala学习之(一)

目录

前言

1.输出语句和分号

1.1输出语句

方式一:换行输出

方式二:不换行输出

1.2分号

2. Scala中的常量

2.1概述

2.2分类

2.3代码演示

3. Scala中的变量

3.1概述

3.2语法格式

3.3示例

3.4 val和var变量的区别

3.5使用类型推断来定义变量

4.字符串

4.1使用双引号

4.2使用插值表达式

4.3使用三引号

4.4扩展:惰性赋值






前言

提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考




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   //这句是错的,常量不能重新赋值


 


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值