运算符
-
算术运算符:+,-,*, / , %, ++, --
-
赋值运算符 = (int i= 10)把10赋值给i
-
关系运算符:> < >= <= ==(java里面的等于要用等等于代替) !=(不等于) instanceof
-
逻辑运算符:&&,||,!
-
位运算符:&, | ,^ ,>>,<<,>>>
-
条件运算符 ?:
-
扩展赋值运算符:+=,-=,×=,/
public class Dome11 {
public static void main(String[] args) {
//二元运算符
//Ctrl+D 复制到下一行
int a= 10;
int b= 20;
int c= 10;
int d= 10;
System.out.println(a+b);//加
System.out.println(a-c);//减
System.out.println(a*d);//乘
System.out.println(a/(double)b);//除 如果除数不在int范围类赋值要进行强制转换
System.out.println("==========================================================================================");
long e=1231412314l;
int f=123;
byte g=8;
short h=18;
System.out.println(e+f+g+h);//输出结果是long类型
System.out.println(f+g+h);//如果没有long类型的话输出的都是int类型
System.out.println(g+h);
System.out.println("===========================================================================================");
//关系运算符返回的结果: 正确 错误 布尔值 以后配合if使用
//% 的使用方法
int i=4;
int j=b;
int k=15;
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a==b);
System.out.println(a!=b);
System.out.println(k%i);//相当于 4/15 。。。3 4除以15 余3
}
}
++ -- 的运用
自增 自减
一元运算符
int a=3;
int b=a++;// 先赋值再自增
System.out.println(a);//输出4
int c=++a;// 先增加再赋值
System.out.println(c);//输出5
幂运算
//幂运算
double pow=Math.pow(5,6);
System.out.println(pow);
## 逻辑运算
```java
public class Day13 {
public static void main(String[] args) {
//逻辑运算
// 与(and) 或(or) 非(取反)
boolean a=true;
boolean b=false;
System.out.println("a&&b:"+(a&&b));// 逻辑 与 运算:两个变量都为真,结果才为真
System.out.println("a||b:"+(a||b));// 逻辑 或 运算:两个变量有一个为真,结果就为真
System.out.println("!a&&b:"+!(a&&b));// 如果是真则为假 如果为假则为真 (a&&b的结果是false,所以取反的结果是true)
//短路运算
int c=5;
boolean d=(c<3) &&(c++<4);
System.out.println(d);//在这里c不小于3,所以c<4是错误的,输出的结果也是错误的,不会进行后面的c++<4的运算
System.out.println(c);//c<3错误 不会运算后面的c++<4
}
}
```
## 位运算符
```java
public class Day01 {
public static void main(String[] args) {
/*
A= 0010 0110
B= 0101 0111
---------------------------------------------------------------------------------
A&B= 0000 0110 (对应位上两个都是1,得数才为1,反之为0)与
A|B= 0111 0111(对应位上有一个是1,得数就是1,反之为0)或
A^B= 0111 0001(对应位上相同的为0,不相同的为1)
~B = 1000 1110(对应位上相同的为1,不相同的为0)
<<左移 把数字乘以2
>>右移 把数字除以2
*/
System.out.println(2<<3);//输出16
/* 0000 0000 0
0000 0001 1
0000 0010 2
0000 0100 4 2左移1位
0000 1000 8 2左移2位
0001 0000 16 2左移3位
二进制 逢二进一 2的1往左边移三位就到了16的1的位置
*/
System.out.println(2>>3);//输出0 2位置的1往右移就没有了 所以输出0
}
}
```
## 拓展符和字符连接符
```java
public class Day02 {
public static void main(String[] args) {
//拓展符
int b=10;
int a = 30;
a+=b;//a=a+b
a-=b;//a=a-b
System.out.println(a );//只能输出一个
//字符连接符 +(在加法符号两侧只要出现string类型的,会把结果转化为string类型进行连接)
System.out.println(a+b);//输出40
System.out.println(""+a+b);//输出3010
}
}
```
## 三元运算符
```java
//三元运算符
// x ? y : z 如果x=true则为y 如果x=false则为z
int c=80;
int d=50;
String type =c<60?"不及格":"及格";
String tape =d<60?"不及格":"及格";
System.out.println(type);
System.out.println(tape);
```