运算符
运算符:是一种用于对数据进行运算,赋值,比较的特殊符号。
常见的运算符号:
运算符 |
运算规则 |
范例 |
结果 |
+ |
正号 |
+3 |
3 |
+ |
加 |
2+3 |
5 |
+ |
连接字符串 |
“中”+“国” |
“中国” |
- |
负号 |
int a=3;-a |
-3 |
- |
减 |
3-1 |
2 |
* |
乘 |
2*3 |
6 |
/ |
除 |
5/2 |
2 |
% |
取模 |
5%2 |
1 |
++ |
自增 |
int a=1;a++/++a |
2 |
-- |
自减 |
int b=3;a--/--a |
2 |
- 算术运算符:+ - * / ++ --
示例如下代码:
1 public class TestAir {
2 public static void main(String[] args) {
3 int i=12;
4 int j=5;
5 //加减法运算
6 int k=i+j;
7 System.out.println(k);
8 k=i-j;
9 System.out.println(k);
10 //乘除运算
11 k=i*k;
12 System.out.println(k);
13 double dou;
14 dou=i*5.0;
15 System.out.println(dou);
16 // /代表对某数去整
17 double d=i/j;
18 System.out.println(d);
19 d=i/5.0;
20 System.out.println(d);
21 // %代表对某数取余数
22 k=i%j;
23 System.out.println(k);
24
25 //++、--运算符
26 System.out.println(i++);//++在变量后面时,是使用完这个变量才会进行+1操作
27 System.out.println(++i);//++在变量前面时,是使用这个变量之前就进行+1操作
28 //++、--运算符
29 System.out.println(i--);//--在变量后面时,是使用完这个变量才会进行-1操作
30 System.out.println(--i);//--在变量前面时,是使用这个变量之前就进行-1操作
31 }
32 }
- 赋值运算符
首先要注意赋值运算符在Java中的优先级是最低的,即在有其它运算符存在的运算式中永远最后执行赋值运算符
示例代码如下:
1 public class TestAssign {
2 public static void main(String[] args) {
3 //+=、-=、*=、/=
4 int a=10;
5 int b=2;
6 a+=b;//a=a+b;
7 System.out.println(a);
8 a-=b;//a=a-b;
9 System.out.println(a);
10 a*=b;//a=a*b;
11 System.out.println(a);
12 a/=b;//a=a/b;
13 System.out.println(a);
14 }
15 }
- 比较运算符(关系运算符)
比较运算符用于判断两个数据的大小,例如:大于、等于、不等于。比较的结果是一个布尔值( true 或 false )。
Java 中常用的比较运算符如下表所示:
示例代码如下:
1 public class TestCompare{
2 public static void main(String[] args) {
3 int a=16;
4 double b=9.5;
5 String str1="hello";
6 String str2="imooc";
7 System.out.println("a等于b:" + (a==b));
8 System.out.println("a大于b:" + (a>b));
9 System.out.println("a小于等于b:" + (a<=b));
10 System.out.println("str1等于str2:" + (str1==str2));
11 }
12 }
注意:
1、 > 、 < 、 >= 、 <= 只支持左右两边操作数是数值类型
2、 == 、 != 两边的操作数既可以是数值类型,也可以是引用类型
- 逻辑运算符
逻辑运算符主要用于进行逻辑运算。Java 中常用的逻辑运算符如下表所示:
我们可以从“投票”的角度理解逻辑运算符:
1、 与:要求所有人都投票同意,才能通过某议题
2、 或:只要求一个人投票同意就可以通过某议题
3、 非:某人原本投票同意,通过非运算符,可以使其投票无效
4、 异或:有且只能有一个人投票同意,才可以通过某议题
当使用逻辑运算符时,我们会遇到一种“短路”现象。
譬如:( a > b ) && ( a < c ) 中,如果能确定左边表达式的运行结果为 false , 则系统就认为已经没有必要执行右侧表达式。
同理,在( a > b ) || ( a < c ) 中,如果能确定左边表达式的运行结果为 true , 则系统也同样会认为已经没有必要执行右侧表达式!
- 三元运算符
也被成为条件运算符 boolean表达式?表达式a:表达式b boolean表达式结果为true时,执行表达式a,boolean表达式结果为false时,执行表达式b。
示例代码如下:
1 public class TestCondition{
2 public static void main(String[] args) {
3 int score=68;
4 String mark =(score>=60)?"及格了!!":"很遗憾,没及格!!";
5 System.out.println("考试成绩如何:"+mark);
6 }
7 }