循环语句
for循环语句
格式
for(初始化语句;条件判断语句;条件控制语句){
语句体;
}
案例一:实现从一到五的求和
解决思路:
1.为了接收和,定义一个整型变量sum
2.为了实现1+2+3+4+5,用for循环,条件判断语句为i <=5,条件控制为i++,每循环一次加一
public class Test {
public static void main(String[] args) {
//1.定义一个int型变量,接收和
int sum = 0;
//2.for循环求和
for(int i = 0; i < 5; i++){
sum += i;
}
//3.打印输出
System.out.println(sum);
}
}
案例二:1-999内回文数的查找输出
解决思路:
1.for循环实现1-999的循环查找
2.if判断如果为两位数,i/10分离十位,i%10分离个位,个位十位相等则回文输出此数
3.如果为三位数则i/100分离百位,1%10分离十位,百位十位比较,如果相等则回文此数
public class Test {
public static void main(String[] args) {
//1.for循环实现1-999的循环查找
for(int i= 1 ; i <= 999 ; i++){
if(i < 100){ //2.if判断如果为两位数,i/10分离十位,i%10分离个位,个位十位相等则回文输出此数
int shiwei = i/10;
int gewei = i%10;
if(shiwei == gewei )
System.out.println(i);
}else{ //如果为三位数则i/100分离百位,1%10分离十位,百位十位比较,如果相等则回文此数
int baiwei = i/100;
int gewei = i%10;
if(baiwei == gewei)
System.out.println(i);
}
}
}
}
public class Test{
public static void main(String args[]){
//1.为了存储偶数和,定义一个变量sum
int sum = 0;
//2.为了从一到一百之中进行查找偶数,使用for循环
for(int i = 1 ; i <= 100 ; i++){
//3.使用if用表达式i%2 == 0判断出是否为偶数,并输出
if(i % 2 == 0){
sum += sum;
}
}
System.out.println(sum);
}
}
解决思路
1.为了两行输出一次,定义一个flag计算出现水仙花次数
2.为了判断出是否为水仙花数,先把百位、十位、个位分离
3.当出现偶数次时换行输出,否则不换行输出
4.每出现一次水仙花数,就flag++,实现记录水仙花数出现次数
public class Test{
public static void main(String args[]){
//为了两行输出一次,定义一个flag计算出现水仙花次数
int flag = 0;
//为了遍历100到999,使用for循环
for(int i = 100 ; i <= 999 ; i++){
//为了判断出是否为水仙花数,先把百位、十位、个位分离
int baiwei = i/100;
int shiwei = i/10%10;
int gewei = i%10;
//使用if语句,用表达式判断是否为水仙花数,并且输出
if(baiwei*baiwei*baiwei + shiwei*shiwei*shiwei + gewei*gewei*gewei == i)
if(flag % 2 == 0){ //当出现偶数次时换行输出,否则不换行输出
System.out.println(i);
}else{
System.out.print(i+"\t");
}
flag++; //每出现一次水仙花数,就flag++,实现记录水仙花数出现次数
}
}
}
while循环
public class Test{
public static void main(String args[]){
//1.预先定义纸张厚度,以便折叠一次就加倍
double paper = 0.1;
//2.定义一个计数器,循环累加,即折叠多少次
int flag = 0;
//3.不知道循环次数,知道循环结束条件,所以用while循环
//4.当厚度>=珠峰高度就停止了
while(paper <= 8844430){
paper *= 2;
flag++;
}
System.out.println(flag);
}
}
do while
跳转控制语句
continue
跳过某次循环,继续执行下一次循环
break
直接终止本次循环
代码:
public class Day02_demo8 {
public static void main(String[] args) {
for (int i=1;i<100;i++){
if(i%10==7 || i/10%10==7 || i%7==0){
System.out.println(i+"是要喊过的数字,所以过");
continue;//只是跳过本次循环,并没有终止循环;
// break;//如果是break那么循环就终止了
}
}
}
}