1 运算符
- 普通的四则运算(加减乘除) + - * / 是不会改变变量本身的值的
如果想要改变变量本身的值,需要把表达式的结果重新赋值给变量 - 取余%(求模 mod) : 取余数,如果整除,余数为0
- 自增自减运算符
自增++ :表示变量本身的值+1
自减- - : 表示变量本身的值-1
前缀式:符号在前,先改变变量本身的值,再使用,比如打印,计算…
后缀式:符号在后,先使用,再改变变量本身的值 - 比较运算符
!= == > < >= <= 比较的结果都是布尔类型的 - 逻辑运算符
&&:双与/短路与:逻辑与单与相同,全真才真,只不过增加了短路的效果
||:双或/短路或:逻辑与单或相同,全假才假(有真则真),只不过增加了短路的效果 - 三目/三元运算符
格式:1 ?2 :3;1是表达式,若1真,取2,若1假取3 - 赋值运算符
= :是普通的赋值运算符,等号右边的值交给等号左边的变量来保存
复合赋值运算符:+= -= *= /=,主要是可以简写&类型的自动转换
sum += 30; 等效于 sum = sum+30;2 流程控制
2.1 顺序结构
顺序结构从头到尾所有代码依次都会执行到
可以解决输入 输出 计算等问题,但是不可以先做判断,再选择性的执行代码2.2 分支结构
1 单分支结构(if)
适合只有一个判断条件时使用,符合条件,执行大括号里的代码,不符合条件,大括号里的代码跳过if(判断条件) {
执行此处代码1
}
2 多分支结构(if else)
适合有两种情况时使用,符合条件,执行代码1,其他情况执行代码2if(判断条件) {
如果符合判断条件,执行此处代码,如果不符合,继续向下判断条件else
}else {
如果不符合判断条件,执行此处代码
}
3 嵌套分支结构(if else if)
适合有多个条件时使用,else-if的个数没有限制,else可加可不加if(判断条件1) {
如果符合判断条件1,执行此处代码1,如果不符合,继续向下判断条件2
}else if(判断条件2) {
如果符合判断条件2,执行此处代码2,如果不符合,继续向下判断条件3
}else if(判断条件3) {
如果符合判断条件3,执行此处代码3,如果不符合,继续向下判断
}else {
如果以上条件都不满足,执行此处代码
}
4 选择结构(switch)
执行顺序:先拿着变量a的值,依次与每个case后的值做比较,如果相等,就执行当前case后的操作,若case后没有break,就绪继续执行下一个case后的操作,如果一直没有遇到break,就会发生穿透的现象,包括defaultswitch(a){
case 1 : 操作1;break;【可选】
case 2 : 操作2;break;【可选】
case 3 : 操作3;break;【可选】
case 4 : 操作4;break;【可选】
default : 保底选项;【可选】
}
注意事项:
- 变量a支持的类型byte short char int String
- 变量a的数据类型与case后value的数据类型必须一致
- 如果没有添加break,并且又有case被匹配到,会发生穿透的现象,包括deafult
- case的个数 是否加break 是否加default 完全根据自己的业务来决定
- 如果添加了default保底选项,又没有任何一个case被匹配到,就会执行default后的语句
- 一般我们习惯在每个case后加break【这个只是建议,具体还是根据业务来写】
5 循环结构(for)
for(开始条件 ; 循环条件 ; 更改条件){
循环体
}
注意1:写法小窍门:从哪开始 到哪结束 循环变量如何变化
注意2:for循环能够执行多少次,取决于循环变量可以取到几个值