1 while循环
这个简单,其循环结构为:
代码语言:javascript复制while( 布尔表达式 ) {
//循环内容
}
当布尔表达式为True,就会一直循环执行下去的。它是先判断再执行循环内容的。
2 do-while循环
而do-while,就是先执行再判断的,所以循环至少被执行一次,其结构为:
代码语言:javascript复制do {
//代码语句
}while(布尔表达式);
3 for循环
for循环用的是最频繁的了,其结构为:
代码语言:javascript复制for(初始化; 布尔表达式; 更新) {
//代码语句
}
这个比较常用了,我们可以简单来写一个栗子:
代码语言:javascript复制/**
* 测试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);
}
}
4 嵌套循环
这个算是一个比较高级一点的用法了,就是在一个循环语句里再嵌套一个循环语句。这个其实也没什么,可以通过看几个小栗子来理解一下。
case1:打印矩阵
代码语言:javascript复制// 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乘法表
代码语言:javascript复制// 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();
}
}
}
5 break语句和continue语句
这两个用的也是很多的,可以先了解一下他们的作用。
break:用于强制退出循环,不执行循环中剩余的语句
continue:跳过本次循环后续未执行的内容,直接进入下一次循环
break很好理解,我下面放一个continue的栗子:
代码语言:javascript复制 /**
* 测试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外循环。
代码语言:javascript复制/**
* 测试带标签的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");
}
}
}