/*
循环结构:
在满足某些条件或者情况下,重复性的去执行一些代码,实现某个功能
三种基本循环结构语句:for while do-while
语法结构:
通常包含四部分:1.初始化部分(声明或者定义一个需要循环的变量 哦通常使用int类型的整数)
2.循环条件部分(循环结束的条件表达式 布尔类型值true/false
3.循环体部分(当条件满足时,程序需要加载的代码)
4.迭代部分(循环变量的变化情况 往上递增/往下递减)
第一个循环结构语句:for 循环
语法结构:for(1初始化语句;2循环条件表达式;4迭代语句){
3循环体语句代码
}
执行过程:
1--》2--》3--》4--》2--》3--》4.。。。-->2直到程序结束
说明:1.当循环表达式条件表达式的结果值为false,那么该程序语句结构就结束了。
此时程序就跳出该循环结构,往下执行后面的代码。
2.循环条件表达式需要关联前面的初始化声明的变量部分。
3.每次执行到循环条件表达式时,执行循环语句结构中循环体代码
当该表达式为假的时候,该循环语句结束,程序跳出该循环结构。
4.查看该循环语句结构的循环次数。(关键信息)
*/
//1.for 循环
//需求1:要求你在程序中输出10行文本信息“我很棒,我是最棒的!”
for (int i=0;i<10;i++){//index-->索引
System.out.println((i+1)+"我很棒,我是最棒的!");
}
/* 执行过程:int i = 0;-->i<10;
-->System.out.println("我很棒,我是最棒的!");-->i++;此时i=1-->i<10;
-->System.out.println("我很棒,我是最棒的!");-->i++;此时i=2-->i<10;
-->....-->i++;此时i=10;-->i<10;此时该表达式结果为false 循环结束
循环次数:0-》9=10次
*/
//需求2:求一下前100个正整数的和
//思路:正整数累加1+2+3+4+5+6+....+100
int sum = 0;//sum累加和
for (int i=1;i<=100;i++){
sum+=i;//sun=sum+i,累加之后赋给sum变量
}
System.out.println("前一百个正整数的和为:"+sum);
//需求3:求一下前100项正整数中的所有奇数的和
int sum1 = 0;//sum累加和
for (int i=1;i<=100;i+=2){
sum1+=i;//sun=sum+i,累加之后赋给sum变量
}
System.out.println("前一百个正整数的奇数和为:"+sum1);
//需求4:求一下前100项所有是7包含7的倍数所有的整数的和
int sum2 = 0;//sum累加和
for (int i=0;i<=100;i+=7){
sum2+=i;//sun=sum+i,累加之后赋给sum变量
}
System.out.println("前一百个正整数的7的倍数和为:"+sum2);
//需求5:求一下三位数中的所有的水仙花数分别是多少,他们的和是多少
// 水仙花数:每个位数的立方和等于该数本身
int a,b,c ,cc;
int s = 0;
for(int i=100;i<1000;i++)
{
c=i%10;
b=(i/10)%10;
a=i/100;
cc=a*a*a+b*b*b+c*c*c;
if(cc==i)
{
System.out.println(i);
}
if(i==cc) {
s +=i;
}
}
System.out.println("他们的和为:"+s);
//需求6:求一下10的阶乘数 如5!= 5*4*3*2*1=120
int ride = 1;
for (int k=10;k>0;k--){
ride*=k;
}
System.out.println(ride);
//需求7:求一下[100,300]之间的能被5整除的所有数,每行输出8个数。每8个数换一行
for (int q=100;q<=300;q+=5){
if(q%8==0){
System.out.println();
}
System.out.print(q+" ,");
}
//需求8;输出1-10之间的数字,数字到8的时候跳过去
/*
跳出语句:break continue
break:中断,打断,停止,就是让当前正在执行的循环语句结构(单层)停止,程序跳出该循环语句结构
continue:
继续,那就是执行到该跳出语句时,程序发送跳跃,但是没有跳出该循环语句结构,
如果该循环语句结构在循环条件成立,那么程序会进入到该循环语句结构中,执行该循环语句结构中的循环体内容
*/
for (int i = 1;i<=10;i++){
//判断i==8
if(i==8){
continue;
}
System.out.println(i);
}
}
//while循环
/*
while循环
语法格式:1.初始化部分
while(2.布尔类型的表达式){
3.循环体代码
4.迭代部分
*/
//需求1:1+2-3+4—5+6-7+......+100
int sum = 0;
int i = 2;
while (i<=100){
if (i % 2 == 0) {//2.循环条件部分
//奇数和偶数的判定 3.循环体代码
sum = sum+i;
}else {
sum=sum-i;
}
i++;//4迭代部分 循环变量的情况
}
//输出该前100项的和
System.out.println(sum+1);
//需求2:求一下前100项正整数中的所有的质数。质数:只能被1和它本身整除,1除外
//思路:拿这个数本身去处于从2开始的数,一直除到这个数本身 如果之前有任何一个数能被整除
//那么该数字久不是质数
//判定除的结果余数不能为0
int a = 37;
int s = 2;
boolean isPrime = true;
while (s < a){
if(a%s == 0){
isPrime = false;
break;
}
s++;
}
if (isPrime == true){
System.out.println( a+"是质数。");
}
for(int n = 1;n <= 100;n++){
boolean b = true;
if(n != 1){
for (int j = 2;j < n;j++){
if(n%j == 0){
b = false;
break;
}
}
}
if(b){
System.out.println(n+"是质数");
}
}