JAVA运算符\操作符
来源:互联网 发布:东芝移动硬盘 mac 加密 编辑:程序博客网 时间:2024/05/17 21:44
运算符
算术运算符
+加 -减*乘/除%取模++自增--自减+字符串拼接运算
注意:
1. 两个int类型运算完后之后,结果一定是int类型
2. byte和short类型在进行运算的时候,底层会自动提升为int类型,然后进行计算
3. 对于byte b = 3 + 4; JVM在编译的时候会进行优化,编译完成之后,实际上这句话就已经成了byte b = 7;
% 取模--取余
103%3 = 1 2%5 = 2 4%2=0
-5%3=-2 -1% 3=-1
5%-3=2 1%-3=1
-5%-3=-2
对于负数的取余,先按照正数的取余运算,运算完成之后看%左边的数字的符号,如果左边的数是正数,结果就是正数,如果左边的数字是负数,结果是就是负数。
3.2%2=1.2 3%1.2=0.6 -3.5 % 1.7=-0.1
++ 自增
相当于在原来的基础上加了1 ->i = i + 1;
只有自增运算的时候,++在前在后结果一样。
++在前,这个变量是先自增,然后再参与其他的运算 int i = 5; int j = ++i;--> i = j = 6;
++在后,先进行其他运算,然后这个变量再自增 int i = 5; int j = i++; i=6;j = 5;
int i = 5;
int j = i++ + ++i; j=12
int j = ++i + i++; j=12
byte类型的数据可以进行自增运算吗?
byte b = 3;
b++;---可以
在运算完成之后,Java在底层会对结果做一次强制类型的转换,原来是byte类型就再转换会byte类型
byte b = 127;
b++;
+ 字符串拼接运算
“a” + “b” -> “ab”
2 + “a” -> “2a”
2 + 3 + “a” -> “5a”
2 + ‘a’ -> 99
“a” + 2 + 3 -> “a23”
“a” + true-> “atrue”
赋值运算符
= += -= *= /= %= &= |= ^=
=进行赋值运算
int i = 5;
i += 2; -> i = i + 2;
byte b = 25;
b += 5;---> 可以
除了=以外的赋值运算符,在使用之前,这个变量必须有初始值。
比较/关系运算符
==等于 !=不等于> < >= <= instanceof
3 != 4--> true
3 > 4-> false
instanceof 用来判断对象与类的关系的
逻辑运算符
&And 与 | OR或 !NOT非^异或 &&短路与||短路或
true&true=true true&false=false false&true=false false&false=false
true|true=true true|false=true false|true=true fasle=false=false
!true=false !false=true
true^true=false true^false=true false^true=true false^false=false
&&短路与,运算规则和&完全一样,但是&&有短路特性,如果&&之前的运算结果确定为false,那么&&之后的运算就不再进行了。
位运算符
&与 |或^异或<<左移>>右移>>>无符号右移~取反
注意:位运算是针对整数进行运算的
3 & 4
交换值的方式
方式一:
int i = 3,j = 4;
int temp = i;
i = j;
j = temp;
方式二:
int i = 3, j = 4;
i = i + j;
j = i - j; -> j = i + j - j-> j = i;
i = i - j;-> i = i + j - i-> i = j;
i += j; j = i - j;i-=j;
方式三:
int i = 3, j = 4;
i = i ^ j;
j = i ^ j; -> j = i ^ j ^ j-> j = i
i = i ^ j; -> i = i ^ j ^ i-> i =j;
i^=j; j^=i; i^=j;
- Java操作运算符
- JAVA运算符\操作符
- Java操作符运算顺序
- java 二进制运算符操作
- java 位操作运算符
- java移位运算符以及其他运算符的操作
- Java中的运算符(操作符)
- java三目运算符操作注意事项
- Java中的<< >>运算符操作细节
- JAVA基础之三:运算操作符
- java的位操作运算符
- Java 按位操作运算符
- c# 运算操作符
- 位运算操作符
- 位运算操作符
- 运算符操作
- 位运算符操作
- 位运算符操作
- 1506:数圈圈
- 实现中文字符串的反/翻转
- MYSQL分区性能
- MVC基本原理
- RabbitMQ学习总结(二)
- JAVA运算符\操作符
- Tesseract ocr文字识别
- Torch load model from gpu to cpu, so can convert to pytorch
- 排序--冒泡排序和快速排序(java)
- 使用yii AR 完成单个表的CURD操作
- 在redis中优化频繁操作redis产生多次链接引发的网络延时
- javascript/js 获取当前页面地址栏数据
- tensorflow进行MNIST手写数字识别-CNN
- windows下MongoDB的安装及配置