1.基本运算符
+:加法运算
- :减法
* :乘法
/ :除法
%:取模
++:自加运算
–:自减运算
+=:加法赋值
-=:减法赋值
*=:乘法赋值
/=:除法赋值
public class TestJava {
public static void main(String[] args){
//声明两个int类型的变量
int i1 = 7;
int i2 = 2;
System.out.println("基本元素符:整数类型");
System.out.println("i1="+i1+" "+"i2="+i2);
System.out.println("i1+i2="+(i1+i2));
System.out.println("i1+i2="+(i1-i2));
System.out.println("i1+i2="+(i1*i2));
System.out.println("i1+i2="+((double)i1/i2));
//声明两个double类型的变量
double d1 = 8.0;
double d2 = 2.5;
System.out.println("基本元素符:浮点类型");
System.out.println("d1="+d1+" "+"d2="+d2);
System.out.println("d1+d2="+(d1+d2));
System.out.println("d1+d2="+(d1-d2));
System.out.println("d1+d2="+(d1*d2));
System.out.println("d1+d2="+((double)d1/d2));
}
}
2.模运算符
%:是求两个整数相除的余数
取模运算不建议用于浮点类型,结果可能不准确
对于精度高的运算,需要使用BigDecimal类型
public class TestJava {
public static void main(String[] args){
int i1 = 5;
int i2 = 2;
double d1 = 2.4;
double d2 = 1.1;
System.out.println("i1="+i1+" "+"i2="+i2);
System.out.println("d1="+d1+" "+"d2="+d2);
System.out.println("i1%i2="+(i1%i2));
System.out.println("i1%d1="+(i1%d1));
System.out.println("d1%d2="+(d1%d2));
System.out.println("d1%i2="+(d1%i2));
}
}
/**
输出结果
i1=5 i2=2
d1=2.4 d2=1.1
i1%i2=1
i1%d1=0.20000000000000018
d1%d2=0.19999999999999973
d1%i2=0.3999999999999999
*/
3.算术赋值运算符
i = i+5; –> i+=5;
int i1 = 1;
int i2 = 3;
int i3 = 5;
int i4 = 7;
int i5 = 9;
//对于这些变量进行运算赋值运算
i1+=2;
i2-=2;
i3*=2;
i4/=2;
i5%=2;
//i1 = 1+2在赋值给i1
System.out.println(i1+","+i2+","+i3+","+i4+","+i5);
4.自增自减运算符
i=i+1; i+=1; i++
i=i-1; i-=1; i–
++i 先加在用
i++ 先用在加,先用完本身的值,再加
public class TestJava {
public static void main(String[] args){
int i = 5;
System.out.println("i="+i);
System.out.println("++i="+(++i));
System.out.println("i="+i);
System.out.println("i++="+(i++));
System.out.println("i="+i);
}
}
5.关系运算符
返回值是boolean 一般用于判断语句当中
==、 !=、 > 、 <、 >= 、<=
public class TestJava {
public static void main(String[] args){
int a = 3;
int b = 5;
boolean b1,b2,b3,b4;
b1 = a == b;
b2 = a !=b;
b3 = a > b;
b4 = a < b;
System.out.println(b1+","+b2+","+b3+","+b4);
}
}
6.逻辑运算符
&:逻辑与 、|:逻辑或 、!:逻辑非运算
&&:短路与 、||:短路或
与 运算符:所有条件都为真,则结果才为真,只要有一个假,结果就是假
或 运算符:只要有一个为真,结果就是真,所有条件都是假 结果才为假
boolean b;
b = condition1 &condition2;//先求得1,2的值,然后进行判断
b = condition1 &&condition2;//首先对condition1进行判断,如果为真在判断condition2,如果condition1为假,则不对condition2进行判断
public class TestJava {
public static boolean returntrue(){
System.out.println("return true");
return true;
}
public static boolean returnfalse(){
System.out.println("return false");
return false;
}
public static void main(String[] args){
boolean b1;
System.out.println("逻辑与运算 returntrue()&returnfalse");
b1 = returntrue()&returnfalse();
System.out.println(b1);
System.out.println("短路与运算 returntrue()&&returnfalse");
boolean b2 = returntrue()&&returnfalse();
System.out.println(b2);
System.out.println("逻辑或运算 returntrue()|returnfalse");
boolean b3 = returntrue()|returnfalse();
System.out.println(b3);
System.out.println("短路或运算 returntrue()||returnfalse");
boolean b4 = returntrue()&&returnfalse();
System.out.println(b4);
}
}
7.三元运算符
public class TestJava {
public static void main(String[] args) {
int i,k,j;
i = 4;
j = 5;
/**
k = i >= j?i:j;
如果k = i 大于等于j
?比较
i:j 如果i>=j输出i
否则输出j
*/
k = i >= j?i:j;
System.out.println(k);
}
}
8.运算符优先级
()优先运算里边的内容
i= (k++);