package Operator; public class Demo01 { public static void main(String[] args) { //算数运算符的基本操作 int a = 10; int b = 20; int c = 30; int d = 40; System.out.println(a+b); System.out.println(a-b); System.out.println(a*b); System.out.println(a/(double)b); System.out.println(a%b); } }
小tips
当参与运算的变量中有long型时,输出的结果也为long型
若参与运算的变量中无long型时,无论参与运算的变量是何类型,则输出结果均为int型
eg:
package Operator; public class Demo01 { public static void main(String[] args) { //算数运算符的基本操作 long a = 10; int b = 20; byte c = 30; short d = 40; System.out.println((String) (a+b)); System.out.println((String) (b+c)); System.out.println((String) (c+d)); System.out.println((String) (b+d));
} }
** 自增(++)、自减(–)运算符**
package Operator; public class Demo03 { public static void main(String[] args) { //++ -- 自增 自减 一元运算符 int a = 1; int b = a++; //执行这行代码时,先进行赋值操作把a的初始值1赋值给b;然后a再执行自增操作a = a+1 = 2。 System.out.println(a); int c = ++a; //执行这行代码时,先进行a = 2自增操作a = a+1 =3;然后再执行赋值操作把a值3赋值给c。 System.out.println(a); System.out.println(b); System.out.println(c); } }
赋值运算符
符号
赋值运算符符号:=
语法格式
//语法格式如下 int a = 10; //初始化int类型变量a,并将10赋值给a。
关系运算符
符号
:关系运算符符号:> , < , >= , <= , == , != , instanceof
关系运算符返回的是 布尔值,其结果只有true和false两种情况,常用于if语句中
语法格式
package Operator; public class Demo02 { public static void main(String[] args) { //关系运算符返回的是 布尔值,其结果只有true和false两种情况,常用于if语句中 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); } }
逻辑运算符
符号
逻辑运算符符号:&& , || , !
语法格式
package Operator; public class Demo04 { public static void main(String[] args) { boolean a = true; boolean b = false; System.out.println("a&&b:\t"+(a && b)); //逻辑与运算:只要有一个是假的,则结果就是假的 System.out.println("a||b:\t"+(a || b)); //逻辑或运算:只要有一个是真的,则结果就是真的 System.out.println("!(a&&b):\t"+!(a && b)); //逻辑非运算:结果取反 //短路运算:当与运算中第一个变量为假时,就不会再去判断第二个变量。 int c = 5; boolean d = b && (c++ > 5); System.out.println(d); System.out.println(c); } }
位运算符
符号
位运算符符号:& , | , ^ , ~ , >> , << , >>>
语法格式
语法格式如下
package Operator; public class Demo05 { public static void main(String[] args) { /* A = 0010 1101 B = 1011 1001 ------------------- A&B = 0010 1001 A|B = 1011 1101 A^B = 1001 0100 异或运算:变量真假相同时结果为假,不同时为真 ~B = 0100 0110 */ //快速计算2*8 System.out.println(2<<3); } }
条件运算符
符号
条件运算符符号:x ? y : z :
语法格式
语法格式如下:
package Operator; public class Demo05 { public static void main(String[] args) { int a = 10; int b = 20; // 条件运算符 x ? y : z // 先判断x是否为真,若x为真,则结果是y;若x为假,则结果是z System.out.println((a>b) ? 50 : 60); System.out.println((a<b) ? 50 : 60); } }
扩展赋值运算符
符号
扩展赋值运算符符号:+= , -= , *= , /=
语法格式
语法格式如下
package Operator; public class Demo05 { public static void main(String[] args) { int a = 10; int b = 20; a+=b; System.out.println(a); // a = a+b -->30 = 10+20 a-=b; System.out.println(a); // a = a-b -->10 = 30-20 //字符串连接符 + //当+号两侧的任意一侧出现了String类型,则它会自动将两侧的变量都转换为String类型并进行连接。 System.out.println("" + a + b); //但是如果String类型前面出现了运算,则会先运算再连接。 System.out.println(b+ a + "" ); } }