Java嵌套循环的使用:
嵌套循环:将循环结构A放在另一个循环结构B的循环体中,就构成了嵌套循环
外层循环:循环结构B
内层循环:循环结构A
说明:1.内层循环结构遍历一次,只相当于外层循环的循环体执行一次
2.假设外层循环需要执行m次,内层循环需要执行n次,则内层循环的循环体需要执行m*n次
例子1:输出九九乘法表
public class NineNineTable {
public static void main(String[] args) {
// TODO 自动生成的方法存根
for(int i=1;i<=9;i++) { //外循环控制行数
for(int j=1;j<=i;j++) { //内循环控制列数
System.out.print(i+""+j+"="+(ij)+"\t"); //"\t"为制表符可以用空格代替,建议使用制表符
}
System.out.println();
}
}
}
运行结果:
例子2:遍历100以内的数并输出质数
public class PrimeNumber {
public static void main(String[] args) {
// TODO 自动生成的方法存
boolean isFlag=true;
for(int i=2;i<=100;i++) {
for(int j=2;j<=i-1;j++) { //j:被i去除
if(i%j0) {
isFlag=false;
}
}
if(isFlagtrue) {
System.out.println(i);
}
isFlag=true;//重置
}
}
}
或者可以:
public class PrimeNumber {
public static void main(String[] args) {
// TODO 自动生成的方法存
for(int i=2;i<=100;i++) {
boolean isFlag=true;
for(int j=2;j<=i-1;j++) {
if(i%j0) {
isFlag=false;
}
}
if(isFlagtrue) {
System.out.println(i);
}
//isFlag=true;//重置
}
}
}
运行结果:
例子3:遍历10000以内的数并输出质数:(添加了程序的执行时间和计算质数的总数的功能)
通过对代码的优化使得程序的执行效率更高,执行时间更短
public class PrimeNumber {
public static void main(String[] args) {
// TODO 自动生成的方法存
long start=System.currentTimeMillis(); //开始时间
int count=0;
for(int i=2;i<=10000;i++) { //遍历10000以内的质数
boolean isFlag=true; //标识i是否被j整除,一旦除尽,修改其值
for(int j=2;j<=Math.sqrt(i);j++) { //优化二:对本身是质数的自然数有效
if(i%j0) {
isFlag=false;
break; //优化一:只对本身非质数的自然数有效
}
}
if(isFlagtrue) {
System.out.println(i);
count++;
}
}
long end=System.currentTimeMillis();//结束时间
System.out.println(“执行时间:”+(end-start));//计算程序的执行时间
System.out.println(“质数的个数:”+count);
}
}
运行结果: