运算符
Java 语言支持如下运算符
-
算术运算符:+,-,*,/,%(取余值),++,–
-
赋值运算符:=
-
关系运算符:>, <, >=,==, !=instanceof
-
逻辑运算符:&&(与),||(或),! (非)
-
位运算符:&,|,^, ~, >>, <<, >>>(了解!!!)
-
条件运算符?:
-
扩展赋值运算符:+=, -=, *=, /=
图片
算术运算符
public class Demo01 {
public static void main(String[] args) {
//二元运算符
//ctrl + D ; 复制当前行到下一行
int a = 10;
int b = 20;
int c = 30;
int d = 40;
int e = 50;
System.out.println(a+b);
System.out.println(a*b);
System.out.println(a-b);
System.out.println(a/(double)b);
}
}
赋值运算符
public class Demo02 {
public static void main(String[] args) {
long a = 1324165416516L;
int b = 132;
short c = 123;
byte d = 9;
System.out.println(a+b+c+d);//Long
System.out.println(b+c+d);//Int
System.out.println((double)c+d);//Int 没有Long的结果都是Int
}
}
关系运算符
public class Demo03 {
public static void main(String[] args) {
//关系运算符返回的结果:正确,错误 布尔值
// if
int a = 10;
int b = 20;
int c = 23;
//取余,模运算
System.out.println(c%a);//c / a 23 /10 =2...3
System.out.println(a>b);//false
System.out.println(a<b);//tuer
System.out.println(a==b);//false
System.out.println(a!=b);//tuer
}
}
自增,自减
public class Demo04 {
public static void main(String[] args) {
//++ -- 自增,自减 一元运算符
int a = 3;// a的初始值等于3
System.out.println(a); //此时a的初始值还没有改变,所以输出a等于3
int b =a++; //a++ a = a + 1
//a = a + 1;
System.out.println(b); //3 因为a++是先把结果给了b,所以输出b还是3,但是因为a++是先给结果,再加1,其实也已经加了1,后面的a的数值已经是4了
System.out.println(a); //4 因为上面a++已经自增了1 3+1=4
int c = ++a; //5 因为++a已经自增了1 4+1=5 此时输出c等于5
System.out.println(a); //5 因为上面++a已经自增了1 4+1=5
//a = a + 1;
int d = ++a; //6 因为++a已经自增了1 此时输出d=6 5+1=6
int e = a++; //6 因为a++先把结果给了e,所以输出e还是6,但是因为a++是先给结果,再加1,其实也已经加了1,后面的a的数值已经是7了
System.out.println(a); //7 接上一条注释。a初始值已经变成了7了。
int f = ++a; //8 因为前面a++,a数值已经从6变成了7,++a先用1和a相加 后,7+1等于8,再把结果给了f。所以输出f等于8
System.out.println(a); //8 因为上面++a是7+1.此时a的数值已经改变成为8,所以输出a就是8
int g = ++a; //9 a+1 = 9 8+1 = 9
System.out.println(a);
//a++:执行完这行代码后,先给b赋值,再自增 a++就是先把a的结果给b,然后再+1。
//++a:执行完这行代码前,先自增,再给b赋值 ++a是先用1和a相加后,再把结果给c。
//无论a++还是++a,出现过之后,a的值就已经被改变了,不再是初始值了。
//无论a++还是++a,出现过之后,a的值就已经被改变了,不再是初始值了。
//无论a++还是++a,出现过之后,a的值就已经被改变了,不再是初始值了。
//无论a++还是++a,出现过之后,a的值就已经被改变了,不再是初始值了。
//无论a++还是++a,出现过之后,a的值就已经被改变了,不再是初始值了。
// 除非输出语句在这个++这个语句的上面,否则出现几个++,后面输出的a就加了几次1。
//这就是为什么最后c等于5,b等于3的原因。
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
System.out.println(e);
System.out.println(f);
System.out.println(g);
//无论a++还是++a,出现过之后,a的值就已经被改变了,不再是初始值了。
//无论a++还是++a,出现过之后,a的值就已经被改变了,不再是初始值了。
//无论a++还是++a,出现过之后,a的值就已经被改变了,不再是初始值了。
//幂运算 2^3 2*2*2 = 8 很多运算,我们会使用一些工具来操作。
double pow = Math.pow(3.,2);
System.out.println(pow);
}
}
+a,出现过之后,a的值就已经被改变了,不再是初始值了。
//幂运算 2^3 2*2*2 = 8 很多运算,我们会使用一些工具来操作。
double pow = Math.pow(3.,2);
System.out.println(pow);
}
}