逻辑运算符的短路现象
package text;
public class Demo1128_1 {
//运算符
//算术/赋值/比较/逻辑/条件/位
//分号结尾 为语句 int o = 7;
//表达式:a、a+1、、、、
public static void main(String[] args) {
//注意第一点 除法 与 取余
int a=7,b=4,c,d;
c = a/b;
d = a%b;
float e = a/b; //1.0
System.out.println("First"+c+" Second"+d+" Third"+e);
//注意第二点 加号的特殊现象
int v1 = 11;
String v2 = "岑岑";
String v3 = "bb";
System.out.println(v1 + v1); //22
// ➕左右两边都是数值时候进行加法运算
System.out.println(v1 + v2); //11岑岑
System.out.println(v2 + v3+"-----------------"); //岑岑bb
//有关 ++ -- 先加后用
int i1 = 7;
System.out.println(i1++); //7
System.out.println(++i1); //9
//注意第三点 +=、-=、*=、/= 、%= 五种与等号合作之后新运算符--又可称为赋值运算符
int p1 = 3,p2=1;
p1+=p2; //p1 = p1+p2; 另外四种其他一样
System.out.println(p1);
System.out.println(p2);
//有关比较运算符 ==、!=、>、<、>=、<=
//逻辑运算符 与&&、或||、非!
if(p1>p2&&p2==1) { //与
System.out.println("("+p1+")"+"("+p2+"')");
}
if(p1!=1||p2<4) { //或
System.out.println("p1:"+p1);
}
if(!true == p2>=p1) { //非
System.out.println("p2:"+p2);
}
//注意第四点 逻辑运算的短路现象 ----------!!!!!!!!!!
//---当逻辑表达式中前半个判断语句使结果恒定时(恒为假或者恒为真,则后半句判断语句不执行)
int p3 = 0, p4 = 2;
if(p3<1 || ++p4<5) //p3<1恒为真,使得此逻辑或语句 恒为真
{ //++p4不执行
System.out.println("p4:"+p4); // p4 仍为 2
}
//条件运算符/三目运算符
int x=2,y=3,z;
z=x>y?8:9;
System.out.println(z);
//注意第五点 优先级 ---优先级最高的三个 . () [] -----最低的运算符 =(赋值运算符)
//位 运算符 只能对整数进行位运算 需要将整数转化成 二进制
//&按位与(同1为1否则为0) |按位或(同0为0否则为1) ~按位取反(分为单反,互反) ^按位异或--一个1 一个0时为1(同为0,异为1)
// >>右位移
// <<左位移
// >>>右无符号位移 基本不用
int bb = 4,cc; // 4: 0000 0100
cc = bb>>1; //右位移 0000 0010 2(即4——>2)
System.out.println(cc);
}
}