《第八章》—— 表达式和运算符

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34536551/article/details/84061380

字面值


●  字面值表示一个指定类型的明确的、固定的值,所以它们的值是在编译时可知、

注意: 对于引用类型变量,字面值null 表示该变量没有设置为内存中的数据。

注意:  无后辍的实数字面值是double 类型, 而不是float 类型。


字符字面量


●  字符字面量可以是: 单子字符、一个简单的转义序列、一个十六进制转义序列 或者一个 Unicode  转义序列。

字符字面值的类型是char

简单的转义序列 是一个 反斜杠后面跟着单个字符

十六进制转义序列是一个反斜杠, 后面跟着一个大写或者小写的x, 后面在跟着4个十六进制数字。

Unicode  转义序列是一个反斜杠,后面跟着一个大写或者小写的 u,后面在跟着4个十六进制数字。


字符串字面值


● 字符串字面量使用双引号标记, 有两种字符串字面值类型:

常规字符串字面值

逐字字符串字面值

● 常规字符串字面量由双引号内的字符序列组成。常规字符串字面量 中可以包含的有:

字符;  简单的转义序列; 十六进制和Unicode 转义序列

逐字字符串它以一个@ 字符作为前辍, 它有以下特征:

(1)逐字字面量与常规字符串字面量的区别在于: 转义字符串不会被求值。  在双引号中间的所有内容, 包括通常被认为是转义序列的内容。都严格按字符串列出的那样打印。

(2)逐字字面量唯一例外的双引号组,它们被解释为单个双引号字符。

● 注意: 编译器让相同的字符串字面值共享堆中同一内存位置以节约内存。

● 注意: 字符串是引用类型,所以字符串也可以被赋予null值, 表示字符串变量不引用字符串。


比较引用类型


● 对于大多数引用类型来说,比较它们的相等性时,将只比较它们的引用的对象的大小。

如果引用相等, 也就是说, 如果它们指向内存中相同对象,那么相等性比较为true, 否则为false。 即使内存中两个分离的对象在所有其他方面都完全相等, 但它们 并不指向内存中相同的对象。也为false。

上面称为浅比较。

●  string类型对象是引用类型,在比较字符串的相等性时,将比较他们的长度和内容(区分大小写)。

如果两个字符串有相同的长度和内容(区分大小写), 那么相等性比较返回true, 即使它们占用不同的内存区域。

上述的称为深比较。

● 委托也是引用类型,使用的也是深比较。 比较委托的相等性时,如果两个委托都是null, 或者两者的调用列表中有相同数目的成员, 并且调用列表相匹配, 那么比较会返回true。

● 比较数值表达式,将比较类型和值。 比较enum 类型时,比较操作数的实际值。

猜你喜欢

转载自blog.csdn.net/qq_34536551/article/details/84061380
今日推荐