代码
package operator;
//导入这个包下所有的类! 阿里巴巴JAVA开发手册
import base.*;
/**
* ━━━━━━神兽出没━━━━━━
* ┏┓ ┏┓
* ┏┛┻━━━┛┻┓
* ┃ ┃
* ┃ ━ ┃
* ┃ ┳┛ ┗┳ ┃
* ┃ ┃
* ┃ ┻ ┃
* ┃ ┃
* ┗━┓ ┏━┛Code is far away from bug with the animal protecting
* ┃ ┃ 神兽保佑,代码无bug
* ┃ ┃
* ┃ ┗━━━┓
* ┃ ┣┓
* ┃ ┏┛
* ┗┓┓┏━┳┓┏┛
* ┃┫┫ ┃┫┫
* ┗┻┛ ┗┻┛
* <p>
* ━━━━━━感受萌萌哒━━━━━━
*/
public class Demo03 {
public static void main(String[] args) {
//与(and) 或(or) 非(取反)
boolean a = true;
boolean b = false;
System.out.println("a && b:"+(a&&b)); //逻辑与运算:两个变量都为真,结果才为true
System.out.println("a || b:"+(a||b)); //逻辑或运算:两个变量有一个为真,则结果为true
System.out.println("!(a && b):"+!(a&&b)); //如果是真,则变为假,如果是假则变为真
//短路运算
int c = 5;
boolean d = (c<4)&&(c++<4);
System.out.println(d);
System.out.println(c);
System.out.println("===========================");
/*
位运算 & | ^
A = 0011 1100
B = 0000 1101
A&B = 0000 1100 &(与运算符)是针对二进制的二目运算符。需要注意的是&&是java中判断条件之间表示“和”的标识符,&是一个二目运算符,两个二进制数值如果在同一位上都是1,则结果中该位为1,否则为0,可以认为两个都是true(1),结果也为true(1)
A|B = 0011 1101 |(或运算符)是针对二进制的二目运算符。运算规则:两个二进制数值如果在同一位上至少有一个1,则结果中该位为1,否则为0
A^B = 0011 0001 ^(异或运算符)是针对二进制的二目运算符。运算规则:两个二进制数值如果在同一位上相同,则结果中该位为0,否则为1
~B = 1111 0010
2*8 = 16 2*2*2*2
<<左移 >>右移
位运算效率极高!
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
0001 0000 16
*/
System.out.println(2<<3);
System.out.println("==========================");
int e = 10;
int f = 20;
String g = "";
e+=f; //e = e+f
e-=f; //e = e-f
g = e+f+"";
System.out.println(e);
System.out.println("===========================");
//字符串连接符 +
System.out.println(""+e+f); //结果为1020,前面字符串会导致后面全部变成运算符
System.out.println((e+f+"").getClass()); //结果为30,后面是字符串,前面先加后在变成字符串
System.out.println("=============================");
//三元运算符 x ? y : z
//如果x==true,则结果为y,否则结果为z
int score = 80;
String type = score < 60 ? "不及格":"及格";
System.out.println(type);
}
}