本章目录
1.算术运算符
2.关系运算符
3.逻辑运算符
4.位运算符
5.移位运算符
6.条件运算符
7.运算符的优先级
引言:什么是运算符
计算机的最基本的用途之一就是执行数学运算,比如:
int a = 10;
int b = 20;
a + b;
a < b;
上述 + 和 < 等就是运算符,即:对操作数进行操作时的符号,不同运算符操作的含义不同。
作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。Java中运算符可分为以下:算术运算符(+ - *
/)、关系运算符(< > ==)、逻辑运算符、位运算符、移位运算符以及条件运算符等。
下面我们来分别介绍一下各种运算符,java中的运算符与C语言的运算符并无太大差别。
1.算术运算符
1. 1基本四则运算符:加减乘除模(+ - * / %)
int a = 20;
int b = 10;
System.out.println(a + b); // 30
System.out.println(a - b); // 10
System.out.println(a * b); // 200
System.out.println(a / b); // 2
System.out.println(a % b); // 0 --->模运算相当于数学中除法的余数
注意:
1.都是二元运算符,使用时必须要有左右两个操作数
2.int / int 结果还是int类型,而且会向下取整
int a = 3;
int b = 2;
// 在数学中应该是1.5 但是在Java中输出结果为1 会向下取整,即小数点之后全部舍弃掉了
System.out.println(a / b);
// 如果要得到数学中的结果,可以用double类型来接收
double d = a / b;
System.out.println(d);
加减乘这里不过多介绍,重点来说说除法与取模
除法:/
下面给出除法的常见计算
public static void main1(String[] args) {
System.out.println(5/2); //2
System.out.println((float)5/2); //2.5
System.out.println(5/(float)2); //2.5
System.out.println((float)(5/2)); //2.0
}
第一行是整型除法,得出的结果是整型,就是上面所说的向下取整
第二行与第三行表示的意思一样,可以解决第一行的问题,即获取数学中的小数点,只需其中一个操作数是浮点型即可
第四行的问题在于强制类型转换,先算好了(5/2)= 2,(float)再对2进行强制类型转换变为2.0
在除法中不能出现的情况
System.out.println(5/0);//算术异常
数值除0,编译器会报错
当数值/0会导致算术异常
异常:指的是程序运行时,出现的不正常行为
在JAVA中,异常的种类有很多种,例如:空指针异常,不支持克隆的异常,数组越界的异常.....
(就是报错) 我们以后要慢慢认识很多种不一样的异常,做到:看到这个异常大概就知道是出现了啥问题。
取模:%
下面给出取模的常见计算
public static void main2(String[] args) {
System.out.println(10%3);
System.out.println(10%-3);
System.out.println(-10%3);
System.out.println(-10%-3);
System.out.println(11.5%2.0);//可以对小数来求余数
}
% 不仅可以对整形取模,也可以对double类型取模,但是没有意义,一般都是对整形取模的。