1.取模运算(%),自增(++),自减(--)运算
取模意为取余数,可适用于整数,char类型,浮点数
(++),(--)可以使变量的值加1或减1,但是写在变量前后效果不一样
int a =10;
System.out.println(a%3); //结果为1
int b = ++a;//就近原则,加号在变量前面,表示先加1,再使用变量
int c = a++;//加号在后面,表示先使用变量的值,再给变量加1,自减同理
System.out.println(a);//12
System.out.println(b);//11
System.out.println(c);//11
2.逻辑运算符 &&,||,java逻辑运算遵循短路逻辑的原则
对于 &&,当一个表达式为false时,将不会判断第二个表达式。因为无论第二个表达式如何,最后结果一定为false
对于 ||,当第一个表达式为true时,将不会判断第二个表达式。因为无论第二个表达式如何,最后结果一定为true
int a=10;
int b = 20;
boolean c = a>b && b<10;
System.out.println(c);//false
boolean d = b>a || a>20;
System.out.println(d);//true
3.赋值运算符“=”,将右边的表达式计算出来,赋值给左边的变量。赋值表达式本身也有值,其本身之值就是所赋的值
int a=b=c=100;
c=100整个表达式的值为100,将其赋值给b,b=(c=100)的值也为100,
将其赋值给a
扩展赋值表达式
运算符
表达式
计算
+=
x += 5
x=x+5
-=
x -= 5
x=x-5
*=
x *= 5
x=x*5
/=
x /= 5
x=x/5
%=
x %= 5
x=x%5
4.三目运算符结构为:boolean表达式?表达式1:表达式2
先计算boolean表达式,如果boolean表达式的值为true,则整个表达式的值为表达式1的值,如果为false,整个表达式的值为表达式2的值
三目运算符也可以嵌套使用,无论嵌套多少层,分解时从最外层按照?:的结构分解即可
int a = -5;
String s = a>0 ? "整数" :(a==0 ? "0" : "负数")
5.switch-case语句
switch-case语句是一种特殊的分支结构,根据switch()中的取值,从不同的分支入口,执行不同的语句。
switch-case和if的区别是,switch-case效率更高,结构更清晰
switch-case和关键字break一起使用,执行完相应语句后,直接退出switch块。如果不加break,将执行完最后一个case语句后退出。
switch()括号中值的类型为整型或者字符串(jdk7.0开始支持),其中可以隐式转换为int的类型,都允许使用。如,char,short...
switch(整型表达式/字符串){
case 整型常量1/字符串常量1:
语句1;
语句2;
break;
case 整型常量2/字符串常量2:
语句3;
break;
default:
语句n;
}