基本运算符
package Operator; public class Demo01 { public static void main(String[] args) { //二元运算符 //ctrl + D:复制当前行到下一行 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 / b);//0 System.out.println(a / (double) b);//0.5 } }
package Operator; public class Demo02 { public static void main(String[] args) { long a = 123123123123L; int b = 123; short c = 10; byte d = 8; System.out.println(a + b + c + d);//123123123264 long System.out.println(b + c + d);//141 int System.out.println(c + d);//18 int //cast:转换 } }
package Operator; public class Demo03 { public static void main(String[] args) { //关系运算符返回的结果:正确、错误 布尔值 int a = 10; int b = 20; int c = 22; System.out.println(a > b);//false System.out.println(a < b);//true System.out.println(a == b);//false System.out.println(a != b);//true System.out.println(c % a);//22/10=2...2 % 取余:模运算 } }
package Operator; public class Demo04 { public static void main(String[] args) { // ++ -- 自增、自减 int a = 3; int b = a++;//执行完这行代码后,先给b赋值,再自增 //a = a + 1 System.out.println(a);//4 //a = a + 1 int c = ++a;//执行这行代码前,先自增,再给c赋值 System.out.println(a);//5 System.out.println(b);//3 System.out.println(c);//5 //幂运算 2^3 = 8 2 * 2 * 2 = 8 //很多运算,会使用一些工具类来操作! double pow = Math.pow(2,3); System.out.println(pow);//8.0 } }
package Operator; //逻辑运算符 public class Demo05 { public static void main(String[] args) { //与and 或or 非:取反 //&&:逻辑与运算:两个变量都为真,结果才为真 //||:逻辑或运算:两个变量有一个为真,结果才为真 //!:真-假 假-真 boolean a = true; boolean b = false; System.out.println("a && b :" + (a && b));//false System.out.println("a || b :" + (a || b));//true System.out.println("!(a && b) :" + !(a && b));//true //短路运算 int c = 5; boolean d = (c < 4 )&&(c++ < 4); System.out.println(d);//false System.out.println(c);//5 } }
package Operator; public class Demo06 { public static void main(String[] args) { /* A = 0011 1100 B = 0000 1101 --------------------------- A&B = 0000 1100 A|B = 0011 1101 A^B = 0011 0001//相同为0,不同为1 ~B = 1111 0010 2 * 8 = 16 2*2*2*2 效率极高!!!!!! << 左移*2 >>右移/2 0000 0000 0 0000 0001 1 0000 0010 2 0000 0011 3 0000 0100 4 0000 1000 8 0001 0000 16 */ System.out.println(2<<3);//16 } }
package Operator; public class Demo07 { public static void main(String[] args) { int a = 10; int b =20; a += b;//a = a + b System.out.println(a);//30 a -= b;//a = a - b System.out.println(a);//10 System.out.println("------------------------------------"); //字符串连接符,遵循前面的类型 System.out.println(a + b);//30 System.out.println(a + b+"");//30 System.out.println(""+ a + b);//1020 } }
package Operator; //三元运算符 public class Demo08 { public static void main(String[] args) { // x ? y : z //如果x 为true,则结果为y,否则结果为z int score = 60; String type = score < 60 ? "不及格!" : "及格!"; System.out.println(type);//及格! // if () } }