运算符合集
-
Java 语言支持如下运算符:
-
算术运算符:+,-,*,/,%,++,--
-
赋值运算符:=
-
关系运算符:>,<,>=,<=,==,!=instanceof
-
逻辑运算符:&&,||,!
-
条件运算符:&,|,^,~,>>,<<,>>>
-
条件运算符?:
-
扩展运算符:+=,-=,*=,/=
package K;
public class Demo5 {
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);
}
}
package K;
public class Demo6 {
public static void main(String[] args) {
long a = 123456L;
int b = 123;
short c = 10;
byte d = 8;
System.out.println(a+b+c+d);//Long
System.out.println(b+c+d);//Int //Cast 转换
System.out.println((double) (c+d));//Int
//注意如果里面操作有Long那么结果一定为long,如果里面有double那么它结果一定是double
}
}
package K;
public class Demo7 {
public static void main(String[] args) {
//关系运算符返回的结果: 正确 错误 布尔值
int a = 10;
int b = 20;
int c = 21;
//取余,模运算
System.out.println(c%a);//c/a 21/10=2...1 c%a 代表c取余a
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 K;
public class Demo8 {
public static void main(String[] args) {
//++ -- 自增 自减 一元运算
int a = 3;
int b = a++;//执行完这行代码后,先给b赋值,再自增 //a++ a=a+1
//a = a+1;
System.out.println(a);
//a= a+1;
int c = ++a;//执行完这行代码前,先自增,再给b赋值
System.out.println(a);
System.out.println(b);
System.out.println(c);
//幂运算 2^3 2*2*2 =8 很多运算我们会使用一些工具类来操作!
double pow = Math.pow(3,2);
System.out.println(pow);
}
}
package K;
public class Demo9 {
public static void main(String[] args) {
//与(and) 或(or) 非(取反)
boolean a = true;
boolean b = false;
System.out.println("a && b:"+(b&&a)); //逻辑运算:两个变量都为真,结果才为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 K;
public class Demo10 {
public static void main(String[] args) {
/**
* A= 0011 1100
* B= 0000 1101
* A&B = 0000 1100 相同两个为0得0 1不同也为0 1相同为0
* A|B = 0011 1101 有一个为1则为1 否则全为0
* A^B = 0011 0001 相同则为 0 不相同则为 1
* ~B = 1111 0010 //取反
* */
//2*8 = 16 2*2*2;
// << *2
// >> /2 */
System.out.println(2<<3);
}
}
package K;
public class Demo11 {
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);
//字符串连接符 + , String
System.out.println(""+a+b);//程序会先运行前面,和后面进行拼接 1020
System.out.println(a+b+"");//程序先运行前面a+b得出结果,忽略后面运算
}
}
package K;
// 三元运算符
public class Demo12 {
public static void main(String[] args) {
// X ? y : z
//如果x==true,则结果为y,否则结果为z
int score = 50;
String type = score <60?"不及格":"及格";//必须掌握
// if
System.out.println(type);//优先级
}
}
package K;
public class Demo13 {
public static void main(String[] args) {
int scoer = 50;
String S = scoer>60?"及格":"不及格";
System.out.println(S);
}
}