交换两个变量的值
1)通过中间变量
2)通过两个数的和
3)异或 一个数异或同一个数两次得到本身
eg:
a=a^b;
b=a^b;//a^b^b
a=a^b;//a^b^a
java中的流程控制语句
顺序结构:从上到下,从左到右
选择结构|分支结构:满足条件才能执行一些代码
循环结构:让一些代码可以重复执行多次
一、选择结构:
if语句
switch语句
1.if语句
单选择|单分支
if(表达式){
语句体;
}
执行流程:
1.计算表达式,得到一个boolean结果
2.如果结果为true,执行{}中的语句体
3.如果结果为false,就不执行直接跳过if结构
双选择|双分支
if(表达式1){
语句体1;
}else{
语句体2;
}
执行流程:
1.计算表达式1,得到一个boolean结果
2.如果结果为true,执行{}中的语句体1
3.如果结果为false,执行{}中的语句体2
多选择|多分支
可理解为if的多重嵌套;
2.switch语句
switch:定值判断
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
case 值3:
语句体3;
break;
....
default: --> 接盘侠
语句体n;
break;
}
表达式 : 一般为一个 变量或者一个表达式
类型: byte,short,int,char,枚举(jdk5新增),String(jdk7新增)
case : 后面接一个定值,不能是区间,使用定值与表达式的结果进行判断,相等执行后面对应的语句体,不相等继续向下判断
break : 结束switch语句
防止case穿透问题
default : 默认的
如果以上的case后的值与表达式的结果都不相等时候,执行default后的代码
位置可变,可以在switch语句{}的任意位置
if与switch与条件运算符之间的区别:
条件运算符: 根据条件做判断 运算符 结构简单,受限制->判断条件单一,直接根据判断条件获取结果,肯定会得到一个结果
结构复杂使用if或者switch
if-> 定值判断,区间判断
switch->定值判断
能用switch的都能if,能用if不一定能用switch
建议: 简单合适结构可以条件运算符,复杂的,定值的可以使用switch->都可以使用
二、循环结构
控制一些代码重复执行多次
for循环
while循环
do…while循环
1.for循环
条件初始化: 声明一个变量并且第一次赋值 i
条件判断 : 对变量i的值的判断->结果为boolean的值
条件变化 : 变量i自身值的改变
执行流程:
1.条件初始化,得到一个变量i
2.条件判断的结果->boolean
3.true->执行{}中的代码->false结束循环
4.条件变化
重复执行第2,3,4步骤
2.while循环
while 条件循环
条件初始化;
while(条件判断){
重复执行的语句体;
条件变化;
}
注意 : 循环之间都可以相互转换
3.do…while循环
do{
重复执行的语句;
条件变化;
}while(判断条件);
do…while与while之间的区别就是:
do…while无论是否满足条件都至少执行一次
while满足条件执行不满足不执行
注意:
在使用while或者do…while循环的时候,不要丢掉条件变化