在计算机科学中,字面量(literal)是用于表达源代码中一个固定值的表示法(notation)。几乎所有计算机编程语言都具有对基本值的字面量表示,诸如:整数、浮点数以及字符串;而有很多也对布尔类型和字符类型的值也支持字面量表示;还有一些甚至对枚举类型的元素以及像数组、记录和对象等复合类型的值也支持字面量表示法
字面量是源代码中书写的数字或字符串,用来表示一个明确类型的明确、固定的值。
1.整数字面量
整数字面量被书写为十进制数字序列,并且没有小数点,带有可选的后缀,用来指明整数的数字类型。
整数字面量根据数字长度系统会匹配int或long型
2.实数字面量
实数字面量由十进制数字,可选的小数点,可选的指数部分和可选的后缀。
无后缀的实数字面量是double类型,不是float类型。
3.字符字面量
字符字面量是由两个单引号内的字符表示组成。字符字面量包含单个字符、简单转义序列、十六进制转义序列和Unicode转义序列。
字符字面量的类型是char。
简单转义序列是一个反斜杠后面跟着单个字符。
十六进制转义序列是一个反斜杠,后面跟着一个小写的x,后面再跟着至多4个十六进制的数字。
Unicode转义序列是一个反斜杠,后面跟着一个小写的u,后面再跟着至多4个十六进制的数字。
eg: char c1 = 'd'; //单个字符
char c2 = '\n'; //简单转义序列
char c3 = '\x0061'; //十六进制转义序列
char c4 = '\u005a'; //Unicode转义序列
4.字符串字面量
字符串字面量使用双引号标记,字符串字面量包含两种类型:规则字符串字面量和逐字字符串字面量。
规则字符串字面量由双引号内的字符串序列组成。其包含字符、简单转义字符、十六进制和Unicode转义序列。
eg: string s1 = "Hi there"; //字符
string s2 = "val1\0,val2"; //简单转义字符
string s3 = "val1\x0000,val2"; //十六进制转义字符
逐字字符串字面量以@字符为前缀,其字符串除了相邻的双引号组以外均不再进行转义,严格按照字符串内容表示。
逐字字符串字面量的双引号组被转义为单个双引号。
————————————————
版权声明:本文为CSDN博主「向往阳光洒过的地方」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/EngraveSmile/article/details/83068019