目录
1.什么是运算符?
计算机的最基本的用途之一就是执行数学运算,比如:
a+b;//加法
a<b;//小于
a<<b;//右移运算
以上就是常见的运算。
2.运算符
2.1 算术运算符
1. 基本四则运算符:加减乘除模(+ - * / %)
注意:不同类型的数据进行运算,或想要得到的结果与操作数类型不同需要进行转换,隐式转换,编译器会自动帮你转换,但是显式转换必须自己进行强制转换,不然结果与想要的结果不同。(关于显式转换或隐式转换的相关知识可以看我上一篇博客)。
链接:初识JavaSE—标识符及数据类型及变量-CSDN博客
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 --->模运算相当于数学中除法的余数
类型转换:
int a = 3;
int b = 2;
// 在数学中应该是1.5 但是在Java中输出结果为1 会向下取整,即小数点之后全部舍弃掉了
System.out.println(a / b);
// 如果要得到数学中的结果,可以使用如下方式
double d = a*1.0 / b;
System.out.println(d)
注意:做除法和取模时,右操作数不能是0。
% 不仅可以对整型取模,也可以对double类型取模,但是没有意义,一般都是对整型取模 的。
两侧操作数类型不一致时,向类型大的提升。
2.2 增量运算符
有+=,-=,*=,/=这些。
int a = 1;
a += 2;
a -= 1;
a *= 3;
a /= 3;
System.out.println(a);
//注意:只有变量才能使用该运算符,常量不能使用。
我们需要注意:平时学习时,大部分同学会认为a+=2 与 a=a+2是一样的,但其实a+=2
会帮助我们进行类型的转换,所以我们在平时练习代码题时,最好使用+=的运算符,这样会帮助我们减少错误。
2.3 自增/自减运算符
后置++:
int a = 1;
a++; //后置++ 表示给a的值加1,此时a的值为2
System.out.println(a++); // 注意:后置++是先使用变量原来值,表示式结束时给变量+1,因此输出2
System.out.println(a); //输出3
//总结:a++ 是先对a进行表达式运算,结束之后再+1
前置++:
++a; // 前置++ 表示给a的值加1
System.out.println(++a); // 注意:前置++是先给变量+1,然后使用变量中的值,因此输出5
System.out.println(a); // 输出5
//注意:++a是对a进行+1之后再进行表达式的操作。
同理:- - 和 ++是一个道理,此处就不再细说了
2.4 关系运算符
关系运算符有:== != < > <= >=
这六种关系运算符,想必大家也是十分了解的,比较简单,此处不再细说了。
2.5 逻辑运算符
逻辑运算符主要有三个:&& || ! ,运算结果都是boolean类型。
1.逻辑与 &&
表达式1 | 表达式2 | 结果 |
真 | 真 | 真 |
真 | 假 | 假 |
假 | 真 | 假 |
假 | 假 | 假 |
2.逻辑或 ||
||的左右两边有一个为真,结果就为真,两边同时假,结果才为假。
表达式1 | 表达式2 | 结果 |
真 | 真 | 真 |
真 | 假 | 真 |
假 | 真 | 真 |
假 | 假 | 假 |
3.逻辑非 !
2.6 位运算符
1.按位与 &
相对应的二进制都为1,结果为1,否则为0
10&20:
2.按位或 |
相对应的二进制都为0,结果为0,否则为1
10 | 20:
3.按位取反 ~
4.按位异或 ^
2.7 条件运算符
表达式优先级如上表所示,但是我们完全不用进行记忆,在我们拿不准的地方我们加入()来划分即可。
3.总结
运算符是我们编程学习中十分重要的一个内容,只掌握运算符我们可能什么都干不了,但是不掌握它,我们在编程学习中华举步维艰,所以运算符的学习是十分有必要的。欢迎大家在评论区对我的该篇内容进行讨论,有不同的意见,欢迎提出,我也会虚心接受,谢谢观看。