&& :与运算符,就是并且的意思(两侧的表达式都为真,则为真,否则为假)。
|| :或运算符,就是或者的意思(两侧至少有一个表达式为真,则为真,否则为假)。
&&和||:在计算过程中如果表达式左边的值为真,则表达式右侧的值不执行,这种情况称为“短路”。
&: 按位与。
|:按位或。
&和|:他们的操作数必须是整数。在运算过程中,其实也就是他们相应的补码进行运算,运算结果为负时记得他的对所得的结果进行减一取反得到原码。(按位取反~,与按位异或^,计算方法相同)
(补充):在java中,&&和||的用法跟C语言相同,但是&和|的意思与C语言中有所不同,他们的叫法分别为逻辑与和逻辑或,他们要分别对表达式两边进行计算,在&(逻辑与)中,如果表达式两边的值都为真,则结果为真;在|(逻辑或)中,如果表达式中只要有一个为真则为真,但是(逻辑与)&和(逻辑或)|都要对两边的表达式进行计算,也就是比&&(Java中的短路与)和||(短路或)多进行一次对表达式右边的式子进行计算。