Java流程控制
多重if选择结构和switch选择结构的区别和适用的场合
相同点:
都是用来处理多分支条件的结构
区别:
switch只能处理等值条件判断的情况,而且条件必须是整型变量、字符型变量、枚举型、字符串
多重if没有switch选择结构的限制,特别适合某个变量处于某个连续区间时的情况
循环结构的特点:
重复执行同一操作,当达到某一条件时停止执行,无论哪一种循环结构,都有4个必不可少的部分:
初始部分、循环条件、循环体、迭代部分
while和do-while循环有什么区别
while循环是先判断再执行
while(循环条件){循环代码块}
do-while循环至少执行一次,执行一次后才判断条件,条件成立继续执行
do{循环代码块}while(循环条件);
在循环中是用什么方式跳出或终止循环
- 如果知道循环次数,可以直接设置循环条件,不满足条件时跳出循环
- 如果不知道具体循环次数,就把循环条件设置为true,做成死循环,在循环体内加一个if判断,满足需求时用break跳出循环。
对比break和continue:
break 用于switch和循环结构中,可以终止循环跳转到循环快外的吓一条语句。
continue 只能用于循环结构中,用于跳出本次循环,进入下一次循环
三种循环的区别
语法:
适应情况:
循环次数确定的情况,通常用for循环
循环次数不定,通常用while和do-while循环
增强for循环(jdk1.5及以上本本可用):
语法:
for(数据类型 变量名 : 数组名或变量名){
//循环体
}
说明:
从数组或集合中取出第一个数据赋值给变量,在循环体中执行,然后再从数组或集合中取出第二个数据赋值给变量,重复执行如此往复,直到数组或集合中所有数据都执行了一遍,结束循环
注意: 变量的数据类型应与数组或集合的数据类型保持一致
多重循环:
外层循环一次,内层循环多次,建议不要超出三层。
用*打印形状:
正三角:
外层int i=0;i<rows;i++
内层int j=0;j<=i;j++
1、3、5的正三角:
外层int i=0;i<rows;i++
内层int j=0;j<=2*i;j++
倒三角:
外层int i=0;i<=rows;rows–
内层int j=0;j<rows;j++
菱形:分成上下两个部分
上半部分:
外层int i=0;i<(rows/2)+1;i++
内层int j=0;j<=i;j++
下半部分:
外层int i=(rows/2)+1;i<rows;rows-=2,i–
内层int j=0;j<(rows/2);j++