1、循环结构是如何最后退出循环的,有哪些不同的情况,请说明。
① 循环条件返回 false
② 在循环体内执行到 break 关键字跳出循环
注:continue 是跳出当次循环;return 是用来结束方法的,不能算做结束循环的条件。
2、指出如下程序输出的结果:
label:for (int i = 1;i <= 4;i++ )
{
for (int j = 1;j <= 10;j++ )
{
if (j % 4 == 0)
{
//break; //默认跳出包裹此关键字最近的一层循环
//continue;
//break label; //结束指定标识的一层循环结构
continue label;
//123123123123
}
System.out.print(j);
}
System.out.println();
}
if 语句中如果为 break ,则输出结果为:
123
123
123
123
如果为 continue ,则输出结果为:
123567910
123567910
123567910
123567910
如果为 break label ,则输出结果为:
123
如果为 continue label ,则输出结果为:
123123123123
3、一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如 6 = 1 + 2 + 3。
编程:找出1000以内的所有完数。(因子:除去这个数本身的其他约数)
class ReviewTest01
{
public static void main(String[] args)
{
int sum = 0;
for (int i = 2; i<=1000; i++)
{
for (int j = 1; j<= i/2; j++)
{
if (i % j == 0)
{
sum += j;
}
}
if (sum == i)
{
System.out.println(i);
}
sum = 0;
}
}
}
D:\MyDownloads\JAVA\my_java_code\day06>java ReviewTest01
6
28
496
4、说明 break 和 continue 使用上的相同点和不同点。
break:
① 使用在 switch-case 结构、循环结构中
② 结束当前循环
③ 其后不可以声明执行语句
continue:
① 使用在循环结构中
② 结束当次循环
③ 其后不可以声明执行语句
5、从控制台输出如下结构:
******
*****
****
***
**
*
程序如下:
class ReviewTest02
{
public static void main(String[] args)
{
for (int i = 1; i<=6; i++)
{
for (int j = 1; j<= 7-i; j++)
{
System.out.print("*");
}
System.out.println();
}
}
}