Java支持的运算符:
package operater;
public class Demo10 {
public static void main(String[] args) {
long a = 123131231312313l;
int b = 123;
short c = 10;
byte d = 8;
System.out.println(a+b+c+d); //long
//只要有long类型,结果一定为long类型
System.out.println(b+c+d); //int
//只要有double类型,结果一定为double类型
System.out.println(c+d); //int
}
}
关系运算符
package operater;
public class Demo02 {
public static void main(String[] args) {
//关系运算符返回结果 ; 正确 错误 布尔值
int a = 10;
int b = 20;
int c = 21;
System.out.println(c%a); //取余
System.out.println(a>b); //关系运算符
System.out.println(a<b);
System.out.println(a==b);
System.out.println(a!=b);
a++与++a自增与自减
package operater;
public class Demo04 {
public static void main(String[] args) {
// ++ -- 自增 自减 一元运算符
int a = 3;
int b = a++; //a++相当于先给b赋值,然后在自增 也就b=3,a=4
System.out.println(a);
int c = ++a; //执行完后,先自增,再给c赋值
/*
刚才a已经等于4,再加1等于5,a=5 在赋值给c
所以c也等于5
*/
System.out.println(a);
System.out.println(b);
System.out.println(c);
//幂运算
double pow = Math.pow(2,3);
System.out.println(pow);
}
}
逻辑运算符
//逻辑运算符
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 operater;
import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;
public class Demo06 {
public static void main(String[] args){
/*
A = 0011 1100
B = 0000 1101
===========================
A&B == 0000 1100 //只要有0,则为0,都为1,则为1
A|B == 0011 1101 //都为0,为0.只要有1,则为1
A^B == 0011 0001 //亦或,只要相同为0,不同为1
~B == 1111 0010 //B的取反
面试题:
2*8怎么运算最快
可以拆分成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); //输出为16
}
}
条件运算符
+package operater;
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);
// 字符串连接符。+ , string类型
System.out.println(""+a+b); //没有进行运算,只是连接,字符串在前面,后边只是进行拼接
System.out.println(a+b+""); // 字符串在后边,进行运算
}
}
三元运算符
package operater;
//三元运算符
public class Demo08 {
public static void main(String[] args) {
// x ? y : z
//如果x==true 则结果为z
int score = 50;
String type = score <60? "不及格":"及格"; //必须掌握
System.out.println(type);
}
}
视频链接:https://www.kuangstudy.com/course/play/1317504142650658818#1336560647022665729#1336561304819556354