Java中常见的运算符
常见运算符分类
Java中常见的运算符可以分为算术运算符(基本算术运算符和复合算术运算符),关系运算符,逻辑运算符,赋值运算符,位运算符。
1.算数运算符
包括了:加(+)、减(-)、乘(*)、除(/)、求余(%)、自增(++)、自减(– –)
注意:
num++ 先使用num的值,后加1
++num 先加1,后使用num的值
– –也一样
2.关系(比较)运算符
>
<
>=
<=
==
!=
对于 == 的强调:永远比的是两个变量中存储的数据(对于基本数据类型而言-数值,对于引用数据类
型而言-地址)
3.逻辑运算符
& 与 遇假则假,全真则真
| 或 遇真则真,全假则假
! 非 取反
^ 异或 相同则假,不同则真
&& 该符号有所谓的“短路原则”,&的左右都执行,&&左边一旦为假右边就不执行了
例:
int x = 0;
int y = 0;
System.out.println(x++ > 0 && y++ > 0); //false
System.out.println(x); //1
System.out.println(y); //0
|| 该符号有所谓的“短路原则”,|的左右都执行,||左边一旦为真右边就不执行了
建议:&& 、 || 效率相对于& 、 | 高一点,所以建议使用 && 和 || 。
4.自加和自减运算符
int i = 1 ;
i++; //1
++i; //2
i--; //1
--i; //0
5.赋值运算符
= //把等号右边的值赋给等号左边
+= //例:a += 1 ⇒ a = a + 1
//以下的都是这样
-=
*=
/=
%=
6.三目运算符
数据类型 变量 = 布尔表达式 ? 值1:值2
如果布尔表达式的值为true 则变量为值1,否则为值2
类似于if-else
例:
int a = 6 > 5 ? 6 : 5; a ==> 6
7.位运算
位(bit) b : 一个二进制存储单位
字节(byte) B: 1B = 8b;
位的 与、或、异或运算
&
|
^
移位运算:
当移位的运算数是byte 和short类型时,将自动把这些类型扩大为 int 型!!
<< 左移运算: 以二进制(补码)形式左移,后面补0
>> 有符号右移: 以二进制(补码)形式右移,后面补符号位
>>> 无符号右移:以二进制(补码)形式右移,后面补0
程序控制流程
程序控制流程就是决定多行程序之间执行顺序(流程)问题,其包括顺序结构、选择结构和循环结构
1.顺序结构
顺序结构——从上到下运行、从左到右执行,中间没有任何判断和跳转。
2.选择结构
1)单分支
if (条件) {
// 如果条件满足,则执行if中的代码
}
2)双分支
if (条件) {
// 如果条件满足,则执行if中的代码
} else {
// 如果条件不满足,则执行else中的代码
}
3)多分支——三个或三个以上,被称为多分支
if (条件1) {
// 如果条件1满足,则执行if中的代码
} else if (条件2) {
// 如果条件2满足,则执行这儿的代码
} else if (条件3) {
// 如果条件3满足,则执行这儿的代码
}
……
else if (条件N) {
// 如果条件N满足,则执行这儿的代码
}
else {
// 前面所有条件的剩余条件
}
switch语法——一种专门用于多分支的语法结构,使用常量匹配变量
switch(变量) { //变量支持 byte、short、int、char、String或枚举类型
case 常量1: // 如果该变量等于常量1,则执行case中的代码
//语句
break; // 如果不想让它继续向后走,则使用break关键字中断
case 常量2:
// ……
break;
[default:
其他剩余条件
]
}
3.循环结构
在某些条件满足的情况下,反复执行特定代码的功能。可分为for循环、while循环、do-while循环。
1)for循环
语法结构:
for ( 循环的初始化; 循环的继续条件; 循环的控制) {
//循环体 ;
}
例:
for (int i = 0; i < 100; i++) {
// 循环体
}
2)while循环
//循环的初始化
while (循环的继续条件) {
//循环体
//循环的控制
}
例:
int i = 0;
while (i < 100) {
System.out.println(i);
i++;
}
3)do-while循环
//循环的初始化
do {
// 循环体
//循环的控制
} while(循环的继续条件);
例:
int i = 0;
do{
System.out.println(i);
i++;
}while(i < 100);
注意:do-while循环即便是条件不成立,也会执行一次!!!
break和continue关键字
break:终止当前循环
continue:跳过本次循环,进入下次循环
可以通过这两个关键字用来操作和控制循环流程