JAVA学习day 05 运算

## 运算符

1. 算术运算符:+,-,*,/,%,++,--
2. 赋值运算符:=
3. 关系:>,<,>=,<=,==,!=,instance of
4. 逻辑:&&,||,!
5. 位运算符:&,|,^,>>,<<,>>>(了解)
6. 条件:?,:
7. 扩展赋值:+=,-=,*=,/=

```JAVA
package operator;

public class Demo01 {
public static void main(String[] args) {
//二元运算符
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);


}
}
```

```JAVA
package operator;

public class Demo02 {

public static void main(String[] args) {
long a=123123123123123L;
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
}
}
```

```JAVA
package operator;

public class Demo03 {

public static void main(String[] args) {
//关系运算符返还结果:true false 布尔值
//if

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);
}
}
```

```JAVA
package operator;

public class Demo04 {
public static void main(String[] args) {
//++ -- 自增 自减 一元运算符

int a=3;
int b=a++; //a++ a=a+1 执行代码后,先赋值,再自增
int c=++a; //执行代码前,先自增,再赋值

System.out.println(a);//5
System.out.println(b);//3
System.out.println(c);//5

//幂运算 2^3 2*2*2=8
double pow = Math.pow(2, 3);
System.out.println(pow);

}


}
```

```JAVA
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);//前为假,短路了,后面没有运算,所以c还是5

System.out.println(d);
System.out.println(c);//5
}
}
```

```JAVA
package operator;

public class Demo06 {

public static void main(String[] args) {
/*
A = 0011 1100
B = 0000 1101

A&B=0000 1100
A|B=0011 1101
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 0100 4
0000 1000 8
0001 0000 16


*/

System.out.println(2<<3);//16 

}
}

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

//字符串连接符 + ,string

System.out.println(""+a+b);//1020 后面自动转换String类型
System.out.println(a+b+"");//30
}


}

package operator;

//三元运算符
public class Demo08 {
public static void main(String[] args) {
//x ? y : z
//如果x==ture,则结果为y,否则结果为z

int score =50;
String type =score <60 ?"不及格":"及格"; //必须掌握
//if
System.out.println(type);
}
}

原文地址:https://www.cnblogs.com/LPFF/p/14117871.html