运算符
算术运算符:+, -, *, /, %, ++, --
public class Demo01 { public static void main(String[] args) { int a = 10; int b = 20; int c = 41; System.out.println(a+b); //加 System.out.println(a-b); //减 System.out.println(a*b); //乘 System.out.println(a/(double)b); //除 System.out.println(c%a); //模运算,取余 //幂运算 2^3 2*2*2 = 8 很多运算,我们会使用一些工具类来操作 double pow = Math.pow(2,3); System.out.println(pow); } }
自增++,自减--
public class Demo03 { public static void main(String[] args) { // ++ -- 自增,自减 一元运算符 int a = 3; int b = a++; //执行这段代码后,先赋值给b,在自增 //a = a+1; System.out.println(a); //a = a+1; int c = ++a; //执行这段代码前,先自增,再赋值给c System.out.println(a); System.out.println(b); System.out.println(c); } }
数据类型大小
public class Demo02 { public static void main(String[] args) { double a = 1546684; long b = 1234541L; int c = 123; short d = 10; byte e = 8; //如果这当中一个或者多个操作数为Double类型,那么结果也是为Double类型 System.out.println(a+b+c+d+e); //Double类型 //如果这当中一个或者多个操作数为Long类型,那么结果也是为Long类型 System.out.println(b+c+d+e); //Long类型 //如果没有Long,Double类型,无论是否有没有Int类型,结果都为Int类型 System.out.println(c+d+e); //Int类型 System.out.println(d+e); //Int类型 } }
赋值运算符 = ,关系运算符 >, <, >=, <=, ==, !=
public class Demo04 { public static void main(String[] args) { int a = 10; int b = 20; System.out.println(a>b); System.out.println(a<b); System.out.println(a==b); System.out.println(a!=b); System.out.println(a>=b); System.out.println(a<=b); } }
逻辑运算符 &&, ||, !
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); System.out.println(d); System.out.println(c); } }
位运算符: &, |, ^, ~, >>, <<, >>>(了解!!!)
public class Demo06 { public static void main(String[] args) { /* A = 0011 1100 B = 0000 1101 ---------------------- A&B = 0000 1100 如果俩个数都为1,结果为1,否则为0 A|B = 0011 1101 如果俩个数都为0,结果为0,否则为1 A^B = 0011 0001 如果俩个数相同,结果为0,否则为1 ~B = 1111 0010 取反 2*8 = 16 2*2*2 << 左移 *2 >> 右移 /2 */ System.out.println(3<<2); } }
扩展赋值运算符: +=, -=, *=, /=
public class Demo07 { public static void main(String[] args) { int a = 10; int b = 20; a+=b; //a = a+b; System.out.println(a); a-=b; //a = a-b; System.out.println(a); a*=b; //a = a*b; System.out.println(a); a/=b; //a = a/=b System.out.println(a); //字符串连接符 + , String //如果字符串在前面,后面则进行拼接 System.out.println(""+a+b); //如果字符串在后面,前面则进行运算 System.out.println(a+b+""); } }
条件运算符: ? :
//三元运算符 public class Demo08 { public static void main(String[] args) { // x ? y : z //如果x==true,则结果为y,否则结果为z int score = 80; String type = score <60 ? "不及格" : "及格"; System.out.println(type); } }