基本运算符 优先级()
operator(运算符)
Ctrl+D:复制当前行到下一行
创建包,包里存放类
二元运算符
package operator;//包机制,代表当前的包
public class Demo01 {
public static void main(String[] args) {
//二元运算符,两个数操作的,a+b
//Ctrl+D : 复制当前行到下一行
int a=10;
int b=20;
int c=25;
int d=25;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/b);//输出结果为0,虽然两个类型一样,但结果是小数0.5(四舍五入),所以需要强制转换
System.out.println(a/(double)b);
}
}
package operator;
public class Demo02 {
public static void main(String[] args) {
long a=12123123123L;
int b=123;
short c=10;
byte d=8;
System.out.println(a-b+c+d);//如果多个操作中有一个为long类型,结果就为long类型,如果一个数是double类型,那么结果以外double类型
System.out.println(b-c+d);//如果没有long结果就为int类型
System.out.println(c-d);//没有long类型时,所有非int类型转为int类型
System.out.println((double)c+d);//cast:转换,
}
}
关系运算符
package operator;
public class Demo02 {
public static void main(String[] args) {
long a=12123123123L;
int b=123;
short c=10;
byte d=8;
System.out.println(a-b+c+d);//如果多个操作中有一个为long类型,结果就为long类型,如果一个数是double类型,那么结果以外double类型
System.out.println(b-c+d);//如果没有long结果就为int类型
System.out.println(c-d);//没有long类型时,所有非int类型转为int类型
System.out.println((double)c+d);//cast:转换,
}
}
逻辑运算符
package operator;
//逻辑运算符
public class Demo05 {
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);
}
}
### 位运算符
package operator;
public class Demo06 {
public static void main(String[] args) {
/*
A=0011 1100
B=0000 1101
--------------------------------------------------
A&B:0000 1100 两个相同的位如果都为1则为1,否则都为0
A/B:0011 1101 如果对应位都为0,则为0,否则为1
A^B:0011 0001 如果两个对应位相同则为0.否则为1
~B(取反):1111 0010
2*8=16 2*2*2*2
位运算效率高!!! 跟二进制底层打交道
<< *2
>> /2
0000 0000 0
0000 0001 2
0000 0010 3
0000 0011 4
0000 1000 8
0001 0000 16
*/
System.out.println(2<<3);
}
}
赋值运算符
package operator;
public class Demo07 {
public static void main(String[] args) {
int a=10;
int b=20;
a+=b;//a=a+b
a-=b;//a=a-b
System.out.println(a);
//字符串连接符 +
System.out.println(a+b);
System.out.println(""+a+b);//结果为1020
System.out.println(a+b+"");//结果为30
//如果字符串在前面会去拼接,如果字符串在后面前面依旧进行运算
}
}
三元运算符
package operator;
//三元运算符
public class Demo08 {
public static void main(String[] args) {
//x ? y : z
//如果x为true结果为y,否则结果为z
int socre=80;
String type=socre<60 ?"不及格":"及格";
//if
System.out.println(type);
}
}