基本for循环嵌套九九乘法表
public class Test {
public static void main (String[] args){
for (int i = 0; i <=9 ; i++) {
for (int j = 1; j <=i ; j++) {
System.out.print(j+" * "+i+" = "+i*j+" ");
}
System.out.println();
}
}
}
基本for循环打印100以内的质数
public class Test {
public static void main (String[] args){
boolean flag = true;
for (int i = 2; i <=100 ; i++) {
for (int j = 2; j <i ; j++) {
if (i%j==0){
flag=false;
}
}
if (flag){
System.out.println(i);
}
flag=true;
}
}
}
花费时间长
m*n等于一个数,当m不断的变大,n不断的变小,会有一个中间值,中间值就是这个数的取根号
1.加上break
2.第二层循环加上<=math.sqrt(i)
public class Test {
public static void main (String[] args){
boolean flag = true;
for (int i = 2; i <=100 ; i++) {
for (int j = 2; j <=Math.sqrt(i) ; j++) {
if (i%j==0){
flag=false;
break;
}
}
if (flag){
System.out.println(i);
}
flag=true;
}
}
}
100以内的质数最优化代码:使用标签
public class Test {
public static void main (String[] args){
l:for (int i = 2; i <=100 ; i++) {
for (int j = 2; j <=Math.sqrt(i) ; j++) {
if (i%j==0){
continue l;
}
}
System.out.println(i);
}
}
}
break和continue的比较:break结束当前循环 continue结束当次循环
使用标签跳出外层循环:label
跳出标签标注的循环:
label:
for (int i = 0; i <5 ; i++) {
for (int j = 1; j <5 ; j++) {
if (j%4==0){
break label;
}
System.out.print(j);
}
}
注意:无论是continue还是break,在其后面的语句都不会被执行