文档章节

基本类型和操作之字面量

柳哥
 柳哥
发布于 2014/06/05 23:14
字数 1085
阅读 165
收藏 0
点赞 0
评论 0

整数字面量
类型Int、Long、Short、Byte的整数字面量有三种格式:十进制、十六进制和八进制。
1. 十六进制
如果数开始于0x0X,那它是十六进制,并且可能包含从0到9,及大写或小写的从A到F的数字。如例:


请注意,不论用什么形式的整数字面量初始化,scala的shell始终打印输出基于10进制的整数值。

2. 八进制

如果数开始于0,就是八进制的,并且只可以包含数字0到7,如例:

注:为什么有警告信息,还不太清楚!!!!(听说从2.10版本开始,八进制表示法被废弃,让所以才有警告。最新的测试2.11.7版本上直接就是报错了!!!!难道不能这样使用了!!???

3. 十进制

如果数开始于非0数字,并且没有被修饰过,就是十进制的。例如:

上面讲了三种进制的表示方法,下面来说说Long类型的表示。如果整数字面量结束于L或l,就是Long类型,否则就是Int类型。例如:

再来说说浮点数字面量,浮点数字面量是由十进制数字、可选小数点、可靠的E或e及指数部分组成的。例如:


请注意指数部分表示的是乘上以10为底的幂级数。因此,1.2345e1就是1.2345 * 10。如果浮点数字面量以F或f结束,就是Float类型的,否则就是double类型的,可选的。Double浮点数字面量也是可以D或d结尾。Float字面量的例子如下:

Double字面量的例子:


字符字面量

字符字面量可以是在单引号之间的任何Unicode字符,如:

单引号之间除了可以摆放字符之外,还可以提供一个前缀反斜杠的八进制或十六进制的表示字符编码号的数字。八进制数必须在’\0’和’\377’之间。例如字母A的Unicode字符编码是八进制101(注:scala2.10.7下也出现了警告,估计后面也不能用了吧!!!!!),因此:


字符字面量同样可以以前缀’\u’的四位十六进制数字的通用Unicode字符方式给出,如:

最后,还有一些字符字面量被表示成特殊的转义序列,例如:



字符串字面量
字符串字面量是由双引号(“”)包括的字符组成:


引号内的字符语法与字符字面量相同,如:

由于这种语法对于包含大量转义序列跨越若干行的字符串很笨抽。因此scala为原始字符串引入了一种特殊的语法。它以同一行里的三个引号(“””)作为开始和结束。内部的原始字符串可以包含无论何种任意字符,包括新行、引号和特殊字符,当然同一行的三个引号除外。举例来说,下面的程序使用原始字符串打印输出了一条消息:

println("""wo Ultamix elcome 3000.
    Type "HELP" for help. \\\\u0008\101\t""")

结果:

执行结果看起来是正确的,其实并不对原因是第二行前导空格被包含在了字符串里。为了解决这个常见问题,字符串类引入了stripMargin方法。使用的方法是,把管道符号(|)放在每行前面,然后对整个字符串调用stripMargin:

println("""|wo Ultamix elcome 3000.
    |Type "HELP" for help. \\\\u0008\101\t""".stripMargin)

结果:


这样的结果就令人满意了。


符号字面量
符号字面量被写成:<标识符> ,这里<标识符>可以是任何字母或数字的标识(注意:不能以数字开头)这种字面量被映射成预定义类scala.Symbol的实例
符号字面量除了显示名字之外,什么都不能做: 


还有就是符号是被限定(interned)的,如果同一个符号字面量出现两次,那么两个字面量指向的是同一个Symbol对象(注意:这个跟字符串常量池是一样的)。关于Symbol类型,我们在下一篇中说明。


布尔型字面量
布尔类型有两个字面量,truefalse


© 著作权归作者所有

共有 人打赏支持
柳哥
粉丝 202
博文 394
码字总数 347782
作品 0
杭州
技术主管
Swift - 变量、常量、可选项、字面量

Swift变量 变量是一种使用方便的占位符,用于引用计算机内存地址。 Swift每个变量都指定了特定的类型,该类型决定了变量占用内存的大小,不同的数据类型也可以决定可以存储值的范围。 上一篇...

Albert_Lee ⋅ 2017/11/15 ⋅ 0

6. Java 中的基本数据类型 【连载 6】

数据类型定义了变量可以采用的值,例如,定义变量为 类型,则只能取整数值。 在 Java 中有两类数据类型: 1)原始数据类型 2)非原始数据类型 - 数组和字符串是非原始数据类型,将在以后的教...

密叔 ⋅ 01/07 ⋅ 0

C++ 容易忘的基本语法和特性

原文:C++ 容易忘的基本语法和特性 作者:Breaker 标准 C++ 中容易忘记但比较重要和常用的基本语法和特性 这是 C++ 或 C in C++,而不一定是传统 C 语言的语法和特性 零 0 字面量 0 是基本类...

晨曦之光 ⋅ 2012/05/23 ⋅ 0

基本类型和操作之数学运算

任何数类型都可以使用中缀操作符:加号(+) 、减号(-)、乘号(*)、除号(/)和余数(%)做数学计算。如下: 当左右两个操作数都是整数类型时(Int、Long、Byte、Short、Char),/操作符将...

柳哥 ⋅ 2014/06/06 ⋅ 0

swift官方推荐翻译文档之集合类型

Swift 语言提供、和三种基本的集合类型用来存储集合数据。数组(Arrays)是有序数据的集。集合(Sets)是无序无重复数据的集。字典(Dictionaries)是无序的键值对的集。 Swift 语言中的、和...

哪一种黑 ⋅ 2016/03/10 ⋅ 0

说说javascript变量类型和变量类型检测

javascript是一种弱类型语言,它的典型例子就是即变量在使用的时候可以给它赋值任何类型。那么先来看下javascript都有那些变量类型已经它们的使用方法吧。 先来看看javascript都有那些类型吧...

开源中国最帅没有之一 ⋅ 2014/10/16 ⋅ 0

基本类型和操作之理解Symbol类型

相信很多人和我一样,在刚接触scala时,会觉得Symbol类型很奇怪,既然Scala中字符串都是不可变的,那么Symbol类型到底有什么作用呢?简单来说,相比较于String类型,Symbol类型有两个比较明显...

柳哥 ⋅ 2014/06/05 ⋅ 0

Java学习第二天变量、常量和运算符

今天学习内容如下: 1、字面量和常量 2、引出变量 3、变量分类、作用域和使用规则 4、数据类型和分类 5、boolean类型 6、整数类型 7、小数类型 8、字符类型 9、最常用的引用类型 10、数据过大...

博行天下 ⋅ 2017/11/28 ⋅ 0

C++ 惯用法: const 常量和字面量

原文:C++ 惯用法: const 常量和字面量 作者:Breaker C++ 中 const 关键字、常量和字面量的惯用法 关键字:const, enum, constcast, constiterator, mutable, 左值, 字面量 本质和非本质上的...

晨曦之光 ⋅ 2012/05/23 ⋅ 0

javascript数据类型一览

它们分别是:Undefined、Null、Boolean、Number、String。 typeof(返回的是字符串类型,可获知某个变量的基本数据量), (1)、"undefined"——未申明,或者变量的值即为undefined或者未初始...

一颗星星变了心 ⋅ 2014/09/12 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

java软件工程师简历中项目经验怎么写?

作者:暗灭 链接:https://www.zhihu.com/question/20695310/answer/180691302 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 直接给你贴个我自己的简历...

颖伙虫 ⋅ 21分钟前 ⋅ 0

Confluence 6 恢复一个站点有关使用站点导出为备份的说明

推荐使用生产备份策略。我们推荐你针对你的生产环境中使用的 Confluence 参考 Production Backup Strategy 页面中的内容进行备份和恢复(这个需要你备份你的数据库和 home 目录)。XML 导出备...

honeymose ⋅ 今天 ⋅ 0

JavaScript零基础入门——(九)JavaScript的函数

JavaScript零基础入门——(九)JavaScript的函数 欢迎回到我们的JavaScript零基础入门,上一节课我们了解了有关JS中数组的相关知识点,不知道大家有没有自己去敲一敲,消化一下?这一节课,...

JandenMa ⋅ 今天 ⋅ 0

火狐浏览器各版本下载及插件httprequest

各版本下载地址:http://ftp.mozilla.org/pub/mozilla.org//firefox/releases/ httprequest插件截至57版本可用

xiaoge2016 ⋅ 今天 ⋅ 0

Docker系列教程28-实战:使用Docker Compose运行ELK

原文:http://www.itmuch.com/docker/28-docker-compose-in-action-elk/,转载请说明出处。 ElasticSearch【存储】 Logtash【日志聚合器】 Kibana【界面】 答案: version: '2'services: ...

周立_ITMuch ⋅ 今天 ⋅ 0

使用快嘉sdkg极速搭建接口模拟系统

在具体项目研发过程中,一旦前后端双方约定好接口,前端和app同事就会希望后台同事可以尽快提供可供对接的接口方便调试,而对后台同事来说定好接口还仅是个开始、设计流程,实现业务逻辑,编...

fastjrun ⋅ 今天 ⋅ 0

PXE/KickStart 无人值守安装

导言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装。 常规的办法有什么? 光盘安装系统 ===> 一...

kangvcar ⋅ 昨天 ⋅ 0

使用Puppeteer撸一个爬虫

Puppeteer是什么 puppeteer是谷歌chrome团队官方开发的一个无界面(Headless)chrome工具。Chrome Headless将成为web应用自动化测试的行业标杆。所以我们很有必要来了解一下它。所谓的无头浏...

小草先森 ⋅ 昨天 ⋅ 0

Java Done Right

* 表示难度较大或理论性较强。 ** 表示难度更大或理论性更强。 【Java语言本身】 基础语法,面向对象,顺序编程,并发编程,网络编程,泛型,注解,lambda(Java8),module(Java9),var(...

风华神使 ⋅ 昨天 ⋅ 0

Linux系统日志

linux 系统日志 /var/log/messages /etc/logrotate.conf 日志切割配置文件 https://my.oschina.net/u/2000675/blog/908189 logrotate 使用详解 dmesg 命令 /var/log/dmesg 日志 last命令,调......

Linux学习笔记 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部