1 break 和 continue
break
中断、跳出 switch 和 循环
continue
继续进入循环下一轮执行
break和continue
项目:day0402_break和continue
类:day0402.Test1
package day0402;
public class Test1 {
public static void main(String[] args) {
System. out .println(“nn—————“);
f1 ();
System. out .println(“nn—————“);
f2 ();
}
private static void f1() {
// 随机浮点数,[0,1)
//double d = Math.ran do m();
//System.out.println(d);
// >0.999
//i变量用来计次
for ( int i=1; ;i++) {
double d = Math. random ();
if (d>0.999) {
System. out .println(“第”+i+”次:”+d);
break ;
}
}
//System.out.println(“循环已经结束”);
}
private static void f2() {
//打印1到100,跳过尾数3,5,7
for ( int i=1;i<=100;i++) {
int y = i%10;
if (y==3 || y==5 || y==7) {
continue ;
}
System. out .println(i);
}
}
}
2 循环命名
内层循环中,控制外层循环 break 或 continue
需要对外层循环命名
outer:
for() {
for() {
break outer;
continue outer;
}
}
质数
输入一个整数,判断是否是质数
2,3,5,7,11,13,17,19,23…
项目:day0403_质数
类:day0403.Test1
package day0403;
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
System. out .print(“输入质数:”);
int n = new Scanner(System. in ).nextInt();
//调用f()方法,判断n的值是否是质数
f (n);
}
private static void f( int n) {
if (n<2) {
System. out .println(n+”不是质数”);
return ;
}
if (n == 2) {
System. out .println(“2是质数”);
return ;
}
//在2到1+ n开方范围,
//找能把n 整除 的值
//找到,n不是质数
//找不到,n是质数
double max = 1+ Math. sqrt (n);
for ( int i=2; i<max; i++) {
//n能不能被i整除
if (n%i == 0) {
System. out .println(n+”不是质数”);
return ;
}
}
//判断了所有的值,没有能整除的
System. out .println(n+”是质数”);
}
}
求n内质数的数量
Test2
package day0403;
import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
System. out .println(
“输入整数n,求n内质数的数量”);
int n = new Scanner(System. in ).nextInt();
f (n);
}
private static void f( int n) {
if (n<2) {
System. out .println(“没有质数”);
return ;
}
if (n==2) {
System. out .println(“有1个质数”);
return ;
}
//定义计数变量
int count = 1;//已知有一个质数
outer: //从3到n寻找质数
for ( int i=3; i<=n ;i++) {
//判断i是否是质数
double max = 1+ Math. sqrt (i);
for ( int j=2; j<max; j++) {//在2到<max,找能把i整除的数
if (i%j == 0) {//i被j整除,i不是质数
//跳到i++,继续判断下一个i值
continue outer;
}
}
//内层j循环结束,i是质数
count++;
}
System. out .println(n+”内质数的数量:”+count);
}
}
3
先判断,再执行
while (执行条件) {
代码
}
4 do-while
先执行,再判断
至少执行一次
do {
代码
} while(执行条件);
while
项目:day0404_while循环
类:day0404.Test1
package day0404;
public class Test1 {
public static void main(String[] args) {
System. out .println(“nn—————-“);
f1 ();
System. out .println(“nn—————-“);
f2 ();
}
// >0.999
private static void f1() {
int i = 0;//用来计次
double d = 0;//用来保存结果
//当d不是需要的值,继续产生新的值
while (d<=0.999) {
d = Math. random ();
i++;
}
System. out .println(“第”+i+”次:”+d);
}
private static void f2() {
int i = 0;
double d = 0;
do {
d = Math. random ();
i++;
} while (d<=0.999);
System. out .println(“第”+i+”次:”+d);
}
}