目录
-
运算符
- Java 云烟支持如下运算符:
- 算学运算符:+、-、*、/、%、++、--
- 赋值运算符:=
- 关系运算符:> , < , >= , <= , == , ! = instanceof
- 逻辑运算符:与&&,或||,非!
- 位运算符:&,|,^取反,~取反,>>右移,<<左移,>>>(了解!!)
- 条件运算符? :
- *扩展赋值运算符:+= , -= , = , /=
- 算学运算符:+、-、*、/、%、
- 算学运算符:+、-、*、/、不同类型的运算
- 算学运算符:++、--
- 关系运算符:> , < ,== , ! = instanceof
- 逻辑运算符:与&&,或||,非!
- 位运算符:&,|,^取反,~取反,>>右移,<<左移,>>>(了解!!)
运算符
Java 云烟支持如下运算符:
算学运算符:+、-、*、/、%、++、--
赋值运算符:=
关系运算符:> , < , >= , <= , == , ! = instanceof
逻辑运算符:与&&,或||,非!
位运算符:&,|,^取反,~取反,>>右移,<<左移,>>>(了解!!)
条件运算符? :
*扩展赋值运算符:+= , -= , = , /=
算学运算符:+、-、*、/、%、
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(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);//0.5 因为a与b都为int型,所以先将b转换为double运行
//取余,也叫模运算
System.out.println(c%a);//c / a 25 / 10 = 2 ... 5
}
}
算学运算符:+、-、*、/、不同类型的运算
package operator;
public class Demo02 {
public static void main(String[] args) {
long a = 1212312L;
int b = 231;
short c= 10;
byte d= 8;
System.out.println(a+b+c+d);//long 只要数值里有long,最终型式就为long类型
System.out.println(b+c+d);//int 其他数值结果都为int
System.out.println(c+d);//int
System.out.println(a+b+d);//long
}
}
算学运算符:++、--
package operator;
public class Demo04 {
public static void main(String[] args) {
//++ -- 自增,自减 一元运算符
int a = 3;
int b = a++;// 执行完这行代码后,先给b赋值,在自增 b=a++等价于b=a;a=a+1;
//a++ a = a + 1;
int c = ++a;//执行完这行代码前,先给自增,在c赋值 c=++a等价于 a=a+1;c=a;
//++a a = a + 1;
System.out.println(a);
System.out.println(b);
System.out.println(c);
//幂运算 2^3 2*2*2 = 8 很多运算,我们会使用一些工具类操作!
double pow = Math.pow(2, 3);//Ctrl+Alt+V 反射运算值 8.0
System.out.println(pow);
}
}
关系运算符:> , < ,== , ! = instanceof
package operator;
public class Demo03 {
public static void main(String[] args) {
//关系运算符返回的结果:正确,错误 布尔值
// if
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);//false
System.out.println(a!=b);//true
}
}
逻辑运算符:与&&,或||,非!
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);//false
System.out.println(c);//5 (c<4)&&(c++<4);中的(c<4)为假,运行在(c++<4)前就已经终止了,所以C返回的数据为5.
// 如果继续运行的话c = c + 1; c=c;最终C就是6了。
}
}
位运算符:&,|,^取反,~取反,>>右移,<<左移,>>>(了解!!)
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 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
0001 0000 16
0000 0000 0
*/
}
}