(1) 算术运算符
(1) 一元 : - 取负 , ++ 自增 ++a/a++, -- 自减
(2)二元 : +,-,*,/,%
(3)a++与++a的区别,a++ 先使用a,然后再对a加1,++a 先对a加1,然后再使用a,两者最终都会对a加1
(2)关系运算符 (结果是布尔型)
(1)== 等于 判断两边的操作数是否相等, >,>=,<,<=,,!=
(3)赋值运算符
(1) = 将=右边的数据赋给左边的变量, += 相加并赋值 , -=,*=, /=, %=
(4)逻辑运算符
(1)一元: ! 逻辑非
(2) 二元:
(1) &&:短路与,&&左右两边的操作数只能是布尔类型,当左边操作数的结果为false,右边不会执行
(2)||:短路或,||左右两边的操作数只能是布尔类型,当左边操作数的结果为true时,右边不会执行
(3)&: 按位与, &左右两边的操作数可以是数值类型、布尔类型。如果是数值类型,则将其转换成二进制,然后每一位进行与操作,如果是布尔类型,不管左边结果是true还是false,右边部分都会执行
(4) |: 按位或,|左右两边的操作数可以是数值类型、布尔类型,如果是数值类型,则将其转换成二进制,进行或操作,如果是布尔类型,不管左边结果是true还是false,右边都会执行。
(5)^: 异或,左右两边的操作数可以是数值类型、布尔类型,如果是数值类型,则将其转换成二进制,然后每一位进行异或操作(对应位上数值相同结果为0,不相同为1),如果是布尔类型,左右操作数相同(同时为true或false)结果是false,不同结果是true。
(5)条件运算符(三元运算符)表达式1?表达式2:表达式3
switch 语句
switch(表达式){
case 常量1: //表达式==常量1
语句1; //可以是多条语句(if for)
break; //跳出整个break语句
case 常量2:
语句2;
break;
......
case 常量n:
语句n;
break;
default:
语句;
}
switch(表达式),数据类型只能是int、String(java7中的新特性)、char、 枚举、byte、short
总结:if与switch的异同点
相同点:都是分支语句
不同点:switch只能做等值判断,而if可以做区间的判断
循环语句
while循环
while(表达式){
循环体;
改变循环条件
}
do while循环
do{
循环体;
改变循环条件
}while(表达式);
while与do while区别
当处于临界值时,while不会执行,do while至少会执行一次
其他情况,do while与while执行的次数相同
for(表达式1;表达式2;表达式3){
循环体
}
表达式1:初始化变量,可省
表达式2:条件判断 条件满足则执行循环体,不满足循环结束
表达式3:改变循环条件 可省
break:跳出整个for循环语句
continue:结束本次循环,下次循环不受影响