1 while循环
这个简单,其循环结构为:
while( 布尔表达式 ) {
//循环内容
}
当布尔表达式为True,就会一直循环执行下去的。它是先判断再执行循环内容的。
而do-while,就是先执行再判断的,所以循环至少被执行一次,其结构为:
do {
//代码语句
}while(布尔表达式);
for循环用的是最频繁的了,其结构为:
for(初始化; 布尔表达式; 更新) {
//代码语句
}
这个比较常用了,我们可以简单来写一个栗子:
/**
* 测试for循环
*/
public class TestFor {
public static void main(String[] args) {
// 计算 1+2+3+4+。。。+100 = ?
int sum = 0;
for(int i=1;i<=100;i++){
sum = sum + i;
}
System.out.println(sum);
}
}
这个算是一个比较高级一点的用法了,就是在一个循环语句里再嵌套一个循环语句。这个其实也没什么,可以通过看几个小栗子来理解一下。
// case1:打印矩阵
public class TestWhileqiantao {
public static void main(String[] args) {
for(int i=1;i<=5;i++){
for(int j=1;j<=5;j++){
System.out.print(i+"\t");
}
System.out.println();
}
}
}
// case2:打印99乘法表
public class TestWhileqiantao {
public static void main(String[] args) {
for(int i=1;i<10;i++){
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+i*j+"\t");
}
System.out.println();
}
}
}
这两个用的也是很多的,可以先了解一下他们的作用。
break很好理解,我下面放一个continue的栗子:
/**
* 测试continue
*/
public class TestContinue {
public static void main(String[] args) {
// 把 100-150之间不能被3整除的数字输出,并且每行输出5个
int h = 0; //计数器
for(int i = 100;i<=150;i++){
if(i%3==0){
continue;
}
System.out.print(i+"\t");
h++;
if(h%5==0){
System.out.println();
}
}
}
}
这里还有一种类似于 goto的用法,那就是“带标签的”break和continue。它一般可以用来实现从内循环跳到指定的外循环,可以看看下面的栗子,就是从 outer内循环跳到 outer外循环。
/**
* 测试带标签的continue
*/
public class TestLabelContinue {
public static void main(String[] args) {
// 打印101-150的质数
// 质数的意思指的是除了被1和自身整数而不能被任何其他整数整除的数字
outer:for(int i=101;i<=150;i++){
for(int j=2;j<i/2;j++){ //只需要执行 i/2 次,大于i/2的结果都小于1,肯定不能被整除的
if(i%j==0){
continue outer;
}
}
System.out.print(i+"\t");
}
}
}