1.while循环
语法:
while(boolean表达式①){
语句块②
}
注释: ①boolean表达式结果为真实执行语句块;否则退出;
②被重复执行的操作;
2.do-while循环
语法:
do{
语句块
}while(条件表达式);
在do-while循环中,即使循环条件的值开始就为假,他也会执行循环体。因此,do-while循环结构体至少执行一次。
3.for循环
语法
for(参数初始化①;条件判断②;更新循环变量④){
循环操作③;
}
for循环语句的执行顺序:
第一步 :执行初时部分(int i=())。
第二步:进行循环条件判断(i<100)。
第二步:根据循环条件判断结果。
①如果为true,执行循环体;
②如果为false,退出循环,第四步、第五步均不执行。
第四步:执行迭代部分,改变循环值(i++)。
第五步:重复第二步~第四步,依次进行直到退出for循环结构。
可见,在for循环中,表达式1这个初始部分仅仅执行一次。
break和continue的使用*
1.break
break语句用于终止某个循环,使程序调到循环块外的下一条语句。在循环中未予break后的语句将不再执行
,循环也停止执行。break语句不仅可以用在for循环中,也可用在while和do-while循环中。break语句通常与if条件语句一起使用。
2.continue
continue的功能和break有点相似,区别是continue只是终止本次循环,接着开始下一次循环,而break则是完全终止循环本身,可以理解为continue的作用是跳过本次循环,重新开始下一次新的循环。
案例
1.求多项式和
public class DUOXIANGSHI {
public static void main(String[] args) {
double sum=0.0;
int d=1;
for(int i=1;i<=20;i++) {
sum=sum+(1.0/(i*i))*d;
d=-d;
}
System.out.println("多項式前五十項的為"+sum);
}
}
2.求1~100以内的所有素数
public class SUSHU1 {
public static void main(String[] args) {
for(int i=3;i<=100;i++) {
boolean a=true;
for(int j=2;j<=Math.sqrt(i);j++) {
if(i%j==0) {
a=false;
break;
}
}
if(a==true) {
System.out.println(i+"为素数");
}
}
}
}
3.猜数游戏
import java.util.Scanner;
public class CAISHUYOUXI {
public static void main(String[] args) {
//1.
int a[]={8,4,2,1,23,344,12};
for(int i=0;i<a.length;i++) {
System.out.print(a[i]+" ");
}
System.out.println();
//2.
int sum=0;
for(int j=0;j<a.length;j++) {
sum+=a[j];
}
System.out.print("所有数的和: "+sum);
//3.
Scanner input =new Scanner(System.in);
System.out.println("请从键盘中输入一个数据:");
int n=input.nextInt();
for(int q=0;q<a.length;q++) {
if(n==a[q]) {
System.out.println("此数列中包含这个数据。");
break;
}else {
System.out.println("此数列不包含这个数据。");
break;
}
}
}
}
*循环拓展
一。几种循环的使用场景
1.while
如果业务可以转换“当”这样的句式时,优先选择while语句来实现。比如,年存款利率为3%,本金为10000,存款总额超过12000时,收益具体是多少?
2.do-while
如果业务可以转化为“直到”这样的句式时,优先选择do-while语句来实现。比如验证身份时必须提供密码核对。
嵌套循环
## …心
public class SONGGEINI {
public static void main(String[] args) {
// TODO Auto-generated method stub
int n = 4;
int i, j, m;
for (i = 1; i <= n; i++) {
for (j = 1; j <= 2 * (n - i) - 1; j++) {
System.out.print(" ");
}
for (j = 1; j <= 6 + (10 - i) * (i - 1) / 2; j++) {
System.out.print("*");
}
for (j = 1; j <= 2 * n - 1 + (i - 6) * (i - 1); j++) {
if (i == n)
break;
System.out.print(" ");
}
for (j = 1; j <= 6 + (10 - i) * (i - 1) / 2; j++) {
if (i == n)
break;
System.out.print("*");
}
if (i == n) {
for (j = 1; j <= 6 + (10 - i) * (i - 1) / 2 - 1; j++) {
System.out.print("*");
}
}
System.out.println("");
} // 上面部分
for (i = 1; i <= n - 2; i++) {
for (j = 1; j <= 6 + (10 - n) * (n - 1) / 2 - 1 + 6 + (10 - n) * (n - 1) / 2; j++) {
System.out.print("*");
}
System.out.println("");
} // 中间部分
m = 6 + (10 - n) * (n - 1) / 2 + 6 + (10 - n) * (n - 1) / 2 - 1;
for (i = 1; i <= (m - 2 - 3) / 4 + 1; i++) {
for (j = 1; j <= 2 * i - 1; j++) {
System.out.print(" ");
}
for (j = 1; j <= m + 2 - 4 * i; j++) {
System.out.print("*");
}
System.out.println("");
}
for (j = 1; j <= 2 * ((m - 2 - 3) / 4 + 1); j++)
{
System.out.print(" ");
}
System.out.print("*");// 下面部分
}
}