乐趣区

&和&&的共同点和区别、Java字符含义和Java创建对象的几种方式

一、& 和 && 的共同点和区别
1、& 和 && 的联系(共同点):& 和 && 都可以用作逻辑与运算符,但是要看使用时的具体条件来决定。
操作数 1 & 操作数 2,操作数 1 && 操作数 2,
表达式 1 & 表达式 2,表达式 1 && 表达式 2,
情况 1:当上述的操作数是 boolean 类型变量时,& 和 && 都可以用作逻辑与运算符。
情况 2:当上述的表达式结果是 boolean 类型变量时,& 和 && 都可以用作逻辑与运算符。
表示逻辑与(and),当运算符两边的表达式的结果或操作数都为 true 时,整个运算结果才为 true,否则,只要有一方为 false,结果都为 false。
2、& 和 && 的区别(不同点):(1)、& 逻辑运算符称为逻辑与运算符,&& 逻辑运算符称为短路与运算符,也可叫逻辑与运算符。
对于 &:无论任何情况,& 两边的操作数或表达式都会参与计算。
对于 &&:当 && 左边的操作数为 false 或左边表达式结果为 false 时,&& 右边的操作数或表达式将不参与计算,此时最终结果都为 false。
综上所述,如果逻辑与运算的第一个操作数是 false 或第一个表达式的结果为 false 时,对于第二个操作数或表达式是否进行运算,对最终的结果没有影响,结果肯定是 false。推介平时多使用 &&,因为它效率更高些。
(2)、& 还可以用作位运算符。当 & 两边操作数或两边表达式的结果不是 boolean 类型时,& 用于按位与运算符的操作。
二、d,D,s,.,*,?,|,[0-9]{6},d+ 的含义
d: 匹配一个数字字符。等价于[0-9]
D: 匹配一个非数字字符。等价于 1
s: 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [fnrtv]
.:匹配除换行符 n 之外的任何单字符。要匹配 .,请使用 .。
:匹配前面的子表达式零次或多次。要匹配 字符,请使用 *。
+:匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 +。
|: 将两个匹配条件进行逻辑“或”(Or)运算
[0-9]{6}: 匹配连续 6 个 0 - 9 之间的数字
d+:匹配至少一个 0 - 9 之间的数字
三、Java 创建对象的几种方式(重要)
(1) 用 new 语句创建对象,这是最常见的创建对象的方法。(2) 运用反射手段, 调用 java.lang.Class 或者 java.lang.reflect.Constructor 类的 newInstance()实例方法。(3) 调用对象的 clone()方法。(4) 运用反序列化手段,调用 java.io.ObjectInputStream 对象的 readObject()方法。
补充说明:(1)和 (2) 都会明确的显式的调用构造函数;
(3)是在内存上对已有对象的影印,所以不会调用构造函数;
(4)是从文件中还原类的对象,也不会调用构造函数。
以上选择上海尚学堂《Java 面试题大全》,由尚学堂 Java 学员收集整理,更多 Java 面试题或技术文章请点击上海尚学堂 Java 面试大全。

0-9 ↩

退出移动版