运算符
- 算术运算符:+,-,*,/,%(取余,java叫模),++,–
- 赋值运算符:= 例:int a = 10 读作把10赋值给a
- 关系运算符:>,<,>=,<=, ==(等于) ,!=(不等于),instanceof(面向对象)
- 逻辑运算符:&&,||,!(与或非)
了解
- 位运算符:&,|,^,~,>>,<<,>>>
- 条件运算符:?
- 扩展赋值运算符:+=,-=,*=,/=
算术运算符
二元运算符
- 只有两个数的运算
- 两个元素生成第三个元素的运算
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);//(a/b)得0,应得0.5 因为是int,只有整数部分,所以应转换为浮点数类型double
public class Demo02 {
public static void main(String[] args) {
long a = 123123123123L;
int b = 123;
short c = 10;
byte d = 8;
//cast 转换
System.out.println(a+b+c+d);//两个或者多个操作中有一个数为long,结果为long
//同理有double结果都为double
System.out.println(b+c+d);
System.out.println(c+d);//没有long都为int
}
}
结果为
- 由此可知在两个或者多个操作中有一个数为long,结果都为long
- 同理有double结果都为double,没有long都为int
模(取余)
package com.kuang.operator;
public class Test1 {
public static void main(String[] args) {
int a = 21;
int b = 10 ;
System.out.println(a%b);//输出结果1 a%b 相当于21/10=2...1
//取余,也叫做模运算
}
}
自增自减运算符,初始math类(也叫一元运算符)
- ++(自增),自减同理
public class Demo04 {
public static void main(String[] args) {
//++ -- 自增,自减 一元运算符
int a = 3;
int b = a++;//执行这行代码后(a=4,b=3),先给b赋值,再自增a
//a++ ,在b后执行a=a+1
System.out.println(a);//a=4,a++执行的下一句a才会+1
//++a ,在c前执行a=a+1
int c = ++a;//执行这行代码前,先自增a,再给c赋值
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
- a++和++a都等于a=a+1,只不过执行时机不同
关系运算符
package com.kuang.operator;//关系运算符
public class Demo03 {
public static void main(String[] args) {
//关系运算符的返回结果只有两种:正确,错误 用布尔值表示,输出结果一定是布尔值
int a = 10; // '=' 不表示等于,表示赋值
int b = 20;
int c = 21;
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a==b);//‘==’表示等于
System.out.println(a!=b);
}
}
结果:
拓展
- Ctrl+Alt+v快速生成一个返回值
- 幂运算,Math类
//幂运算 2^3=2*2*2 = 8 很多运算,我们会使用一些工具类来操作
double pow = Math.pow(2, 3);//int pow = (int)Math.pow(2,3) 因为math类型是double,大转小需要强转
System.out.println(pow);//输出8.0