运算符:用于执行程序代码运算,会针对一个以上操作数项目来进行运算的符号。例如: + -
表达式:用运算符串联起来的式子。例如: 20+5
四则运算
首先说一下四则运算的代码运算,包括常量和变量的 + - * /
代码举例:
public class operation {
public static void main(String[] args) {
//常量的加减乘除运算
System.out.println( 20+30);//加法
System.out.println( 20-30);//减法
System.out.println( 20*30);//乘法
System.out.println( 20/30);//除法
//变量的加减乘除运算
int a = 20, b = 30;
System.out.println( a+b);//加法
System.out.println( a-b);//减法
System.out.println( a*b);//乘法
System.out.println( a/b);//除法
}
}
代码运行结果如下:
由上述例子可以看到,无论是变量还是常量都可以进行加减乘除运算。
注意:
对于一个整数的表达式来说,如上述例子,整数除以整数,结果仍然会是一个整数,不同于小学的除法,这里的结果只去取商,不取余数。
另外当运算中包含了不同类型的数据时,结果将会是数据类型范围大的那种。如:
public class operation {
public static void main(String[] args) {
//不同变量类型之间的运算举例
//int + double 因为double的数据范围大于int类型的数据范围 结果会是double类型
int num1 = 10;
double num2 = 2.55;
System.out.println(num1 + num2);//结果为12.55
}
}
取模运算和加号其他用法
1、取模运算
前面我们说到,当进行整数除法的时候,结果只会取商,而不会取余数,而当我们需要取除法运算的余数时,我们就需要用到取模运算,符号是 %
举例:
public class operation {
public static void main(String[] args) {
//取模运算
System.out.println(30%7);//常量 结果为2
int num3 = 37;
int num4 = 200;
System.out.println(num4%num3);//变量 结果为15
}
}
2、加号的其他用法
对于数值来说,加号的用法就是进行加法运算,如上述例子。
除此之外,对于字符char来说,在进行运算时,char类型会首先提升为int 再进行计算,得出的结果可以参照ASCII表或Unicode,这一点也在前面的文章中有举例了。
这里主要讲一下加号与字符串String(不是关键字)包括运算的优先级。
对于字符串来说,加号进行的并不是一种运算,而是两个量之间的连接操作。
举例:
public class operation {
public static void main(String[] args) {
//字符串与加号
String str = "JAVA";
System.out.println(str + 20); // 结果为 JAVA20
System.out.println(str + 20 + 30); // 结果为 JAVA2030
System.out.println(str + (20+30)); // 结果为 JAVA50
}
}
结果:
代码运行后,可以看到字符串进行加号运算时,输出的也是一个字符串;当连接多个数字时,字符串的连接优先,如例子中的Java2030,而要改变此优先级,可以用括号将想要优先运算的量括起来。
自增自减运算
所谓的自增自减,就是令一个变量增加1或减少1
使用方式:将自增或自减符写在变量名称前或者变量名称后 如:num++ 、++num
对于不同使用方式,写在变量前和写在变量后有一定区别。
当两者单独使用时,结果都是自增1或自减1;
当两者与其他操作混合使用时,
1、写在变量前 即 ++num,变量会先+1,再与其他操作进行计算。
2、写在变量后 即 num++,变量会先与其它操作进行运算,再+1。
自减运算类似,举例:
public class operation {
public static void main(String[] args) {
//自增自减运算
//进行单独运算
int num = 20;
num++;
System.out.println(num);//21
++num;
System.out.println(num);//22
num--;
System.out.println(num);//21
--num;
System.out.println(num);//20
//进行混合运算
int num5 = ++num;//num = 20 先加 num =21 再运算 num5 = 21
System.out.println(num5);//21
num5 = num++;//num =21 先运算 num5 =21 再加 num =22
System.out.println(num5);//21
System.out.println(num);//22
}
}
结果:
注意 只有变量才可以进行自增自减运算。