基本运算符表
二元运算符
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);//30
System.out.println(a-b);//-10
System.out.println(a*b);//200
System.out.println(a/(double)b);//0.5
}
}
关系运算符
public class Demo3 {
public static void main(String[] args) {
//关系运算符返回的结果: 正确 ,错误 ,布尔值
//if
int a =10 ;
int b= 20 ;
int c= 22;
System.out.println(c%a);//余2
System.out.println(a>b);//false
System.out.println(a<b);//ture
System.out.println(a==b);//false
System.out.println(a!=b);//true
}
}
案例
public class Demo02 {
public static void main(String[] args) {
long a= 123321L;
int b = 123;
short c =10 ;
byte d =8;
System.out.println(a+b+c+d);//long 123462
System.out.println(b+c+d);//int 141
System.out.println( c+d);//int 18
}
}
自增自减运算符
public class Demo4 {
//++ -- 自增,自减 一元二次方程
public static void main(String[] args) {
int a=3;
int b = a++; //执行这行代码先给b赋值,在自增
//a = a+1;
System.out.println(a);//4
int c= ++a; //执行这段代码前,先自增,在给b赋值
System.out.println(a);//5
System.out.println(b);//4
System.out.println(c);//5
//幂运算 2*3 2*2*2 = 8 很多运算我们会使用一些工具来进行操作0
double pow =Math.pow(3,2);
System.out.println(pow); //9.0
}
}
总结:
a++:先执行,后自增 //1.b=a 2.a=a+1
++a:先自增,在执行 //1.a=a+1 2.b=a
//注:按照代码从上至下的原则
a--:先执行,后减少 //1.b=a 2.a=a-1
--a:先减少后,执行 //1.a=a-1 2.b=a
//幂运算 2*3 2*2*2 = 8 很多运算我们会使用一些工具来进行操作
pow =Math.pow(3,2)
逻辑运算符
public class Demo5 {
public static void main(String[] args) {
// 与 (and) 或(or) 非(取反)
// && || !
boolean a = true;
boolean b = false;
System.out.println("a && b :"+(b&&a)); //false //逻辑与运算:两个都为真,结果才为ture
System.out.println("a || b :"+(a||b));//true //逻辑或运算:两个变量有一个为真,则结果才为true
System.out.println("! (a&&b):"+!(a&&b));//true //如果为真,则为假,如果为假则为真
例题:
//短路运算
int c= 5;
boolean d= (c<4)&&(c++<4);
System.out.println(d);//false
System.out.println(c);//5
}
总结:
1.&& ///逻辑与运算:两个都为真,结果才为ture
2.|| ///逻辑或运算:两个变量有一个为真,则结果才为true
3.! ///取反运算:如果为真,则为假,如果为假则为真
位运算符
public class Demo06 {
/*
* A = 0011 1100
* B = 0000 1101
*
*
* A&B = 0000 1100 //与运算,根据2进制运算2着都为1是,拿1,其他都是0
* A|B = 0011 1101 //或运算,两着都为0时拿0,只要有1,拿1
* A^B = 0011 0001 //异或运算,根据2进制运算相同就为0,不相同就为1
* ~B = 1111 0010 //取反, 跟上面的完全不一样,上面0,下面1
*
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
*
*
*
* */
public static void main(String[] args) {
System.out.println(2<<3); //16
}
}
扩展符运算
public class Demo7 {
public static void main(String[] args) {
int a= 10;
int b =10;
a+=b; //a= a+b//20
a-=b; //a= a-b//0
System.out.println(a);
小案例:
//字符串连接符 + ,String
System.out.println(""+a+b);//1010//细节前面先加字符串之间讲后面拼接在一起转化成字符串
System.out.println(a+b+"");//20//先运算,就不会拼接不会转化成字符串
}
}
三目运算
ublic class Demo08 {
//三目运算
//x ? y : Z
//如果x==true ,则结果为y,否则为z
//列如: 一天上王者? 吃大餐 :吃空气
public static void main(String[] args) {
int score = 50;
String type = score<60?"不及格":"及格";
System.out.println(type);//不及格
}
}
总结:
1.公式:x ? y : Z //如果x==true ,则结果为y,否则为z
例子:一天上王者? 吃大餐 :吃空气