一、算术运算符
算术运算符的作用和在数学中的作用一样,主要的算术运算符有以下几种
1、+加
2、-减
3、*乘
4、/除
5、%取余
其中加、减、乘、除的用法同数学中的相同,不过需要注意的是 / 和 % 的区别:两个数据做除法,/取结果的商,%取结果的余数。除了这五种还有以下两种:
++自增:变量的值加1
– 自减:变量的值减1
使用时需要注意以下几点:
1、++和-- 既可以放在变量的后边,也可以放在变量的前边。
2、单独使用的时候, ++和-- 无论是放在变量的前边还是后边,结果是一样的。
3、参与操作的时候,如果放在变量的后边,先拿变量参与操作,后拿变量做++或者–。
4、参与操作的时候,如果放在变量的前边,先拿变量做++或者–,后拿变量参与操作。
最常见的用法:单独使用。
int i = 10; i++; // 单独使用 System.out.println("i:" + i); // i:11 int j = 10; ++j; // 单独使用 System.out.println("j:" + j); // j:11 int x = 10; int y = x++; // 赋值运算,++在后边,所以是使用x原来的值赋值给y,x本身自增1 System.out.println("x:" + x + ", y:" + y); // x:11,y:10 int m = 10; int n = ++m; // 赋值运算,++在前边,所以是使用m自增后的值赋值给n,m本身自增1 System.out.println("m:" + m + ", m:" + m); // m:11,m:11
二、关系运算符
关系运算符也可以称为“比较运算符”,主要用于比较判断两个变量或常量的大小,运算的结果是boolean型,当对应的关系成立时,运算结果为true,否则为false。关系运算符主要有以下几种:
符号 | 说明 |
---|---|
== | a==b,判断a和b的值是否相等,成立为true,不成立为false |
!= | a!=b,判断a和b的值是否不相等,成立为true,不成立为false |
> | a>b,判断a是否大于b,成立为true,不成立为false |
>= | a>=b,判断a是否大于等于b,成立为true,不成立为false |
< | a<b,判断a是否小于b,成立为true,不成立为false |
<= | a<=b,判断a是否小于等于b,成立为true,不成立为false |
使用关系运算符需要注意以下几点:
1、基本类型的变量或值不能和引用类型的变量或值使用==;boolean类型的变量或值不能与其它任何类型的变量或值使用 == 进行比较;如果两个引用类型之间没有继承关系也不能使用==进行比较。
2、==和!=可以应用于基本数据类型和引用类型。当用于引用类型比较时,比较的是两个引用是否指向同一个对象。
3、千万不要把== 误写成“=”,"==“是判断是否相等的关系,”="是赋值。
4、运算符>=、==、!=、<=是两个字符构成的,用空格分开会产生语法错误。
三、位运算和逻辑运算符
1、&按位与也称逻辑与:只有全为1时才为1,否则为0。在逻辑运算中无论左边真假,右边都要执行。
2、| 按位或也称逻辑或:有1为1,全0为0。在逻辑运算中无论左边真假,右边都要执行。
3、^ 异或:相同为0,否则为1。
4、!非:取反。
5、&&短路与:作用和&相同,但是有短路效果。在逻辑运算中如果左边为真,右边执行;如果左边为假,右边不执行。
6、|| 短路或:作用和|相同,但是有短路效果。在逻辑运算中如果左边为假,右边执行;如果左边为真,右边不执行。
四、赋值运算符
赋值运算符的作用是将一个表达式的值赋给左边,左边必须是变量,不能是常量。赋值运算符的优先低于算术运算符,方向是自右向左;不是数学中的等于,它表示一个将右边的值赋值给左边的一个动作。
符号 | 作用 | 说明 |
---|---|---|
= | 赋值 | a=10,将10赋值给变量a |
+= | 加后赋值 | a+=b,将a+b的值给a |
-= | 减后赋值 | a-=b,将a-b的值给a |
*= | 乘后赋值 | a*=b,将a×b的值给a |
/= | 除后赋值 | a/=b,将a÷b的商给a |
%= | 取余后赋值 | a%=b,将a÷b的余数给a |
符号 =:当两边的数据类型不一致时,可以使用自动类型转换或使用强制类型转换进行处理。
总结
本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注自学编程网的更多内容!
- 本文固定链接: https://zxbcw.cn/post/218847/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)