运算符
算数运算符
- 算数运算符:+,-,*,/,%,++,–
package operator;
public class Demo01 {
public static void main(String[] args) {
//二元运算符
//ctrl+D:复制当前行到下一行
int a=10;
int b=20;
int c=25;
int d=25;
//取余,模运算
System.out.println(c%a);// %是取余数的意思,25/10=2....5 取值5
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);//注意作用范伟,不加double运算结果是0,加了之后才是0.5
}
}
package operator;
public class Demo02 {
public static void main(String[] args) {
long a = 12312123123L;
int b = 123;
short c = 10;
byte d = 8;
System.out.println(a+b+c+d);//输出结果是long类型
System.out.println(b+c+d);//输出结果是int类型
System.out.println(c+d);//输出结果是int类型
}
}
- ++类案列
package operator;
public class Demo04 {
public static void main(String[] args) {
//++ 自增 一元运算符 i++ i在前面,先赋值运用,后计算; ++i在后面,计算完后,在赋值。
//-- 自减 一元运算符 同理
int a=3;
int b=a++;
System.out.println(a);
int c=++a;
System.out.println(a);
System.out.println(b);
System.out.println(c);
//Math.类 是数学工具,里面有很多的计算方法。
double pow = Math.pow(2, 3);//幂运算2的三次方,2*2*2
System.out.println();
}
}
赋值运算符
- 赋值运算符:=
关系运算符
关系运算符:>,<,>=,<=,==,!=(不等于),instanceof
package operator;
public class Demo03 {
public static void main(String[] args) {
//关系运算符返回的结果:正确,错误 布尔值
int a= 10;
int b= 20;
int c=21;
System.out.println(a>b);//输出结果是false
System.out.println(a<b);//输出结果true
System.out.println(a==b);
System.out.println(a!=b);
}
}
逻辑运算符
逻辑运算符:&&,||,!
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)
A|B = 0011 1101 如果对应位都是0 则是0,否则为1 (A或B)
A^B = 0011 0001 如果两位相同,则为0,否则为1 [异或运算 ^ ]
~B = 1111 0010 (取反)
2*8 怎么运算最快 2*8=16 2*2*2*2=16
<< 左移 左移一位*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);
}
}
条件运算符
条件运算符: ? :
例如 : x?y:z
package operator;
//三元运算符
public class Demo08 {
public static void main(String[] args) {
// x ? y : z
//如果x==true,则结果为y,否则结果为z
int score = 80;
String type =score<60?"不及格":"及格";//必须掌握;
System.out.println(type);
}
}
拓展赋值运算符
拓展赋值运算符:+=,-=,*=,/=
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);//连接符 输出的数值是1020
System.out.println(a+b+"");//连接符在后面,先计算
}
}