day07学习打卡:for循环结构及练习

本文详细介绍了Java中的for循环结构,包括基本语法、多个练习示例,如输出特定序列、计算最大公约数和最小公倍数,以及求奇数和与识别水仙花数。通过实例展示了循环条件的运用和逻辑控制。
摘要由CSDN通过智能技术生成

循环结构

/*
For结构的使用:
1.循环结构的四个要素:
  初始化条件
  循环条件(布尔类型)
  循环体
  迭代条件

2.for循环的结构

for(初始化条件;循环条件;迭代条件){
    循环体
}
*/


//练习一:
class ForTest{
    public static void main(String[] args){
    
    //输入1000个“hello world”
    for(int i=1;i<=1000;i++){
        System.out.println("hello world!");
    }
    //i在for循环里有效,出了for循环失效


//练习二:
    int num=1;
    for(System.out.println('a');num<=3;System.out.println('c'),num++){
        System.out.println('b');
    }
    //输出结果:abcbcbc

//练习三:
    //遍历100以内的偶数:
    for(int n=1;n<=100;n++){
        if(n%2==0){
            System.out.println(n);
        }

//练习四:   
 //遍历100以内的偶数,输出所有偶数的和
    int sum=0;
    for(int i=1;i<=100;i++){
        if(i%2==0){
            System.out.println(i);
        }
        sum+=i;
    }
    }
    System.out.println("总和为:"+sum);
    
    }//蚌埠住了,家人们,为什么会提示sum没有找到符号啊
}


//练习五:
/*编写程序从1循环到150,并在每行打印一个值,另外在每个3的倍数行
上打印出“foo”,在每个5的倍数行上打印“biz”,在每个7的倍数行上打印
输出“baz”。
*/

class ForTest1{
    public static void main(String[] args){
    
    for(int i=1;i<=150;i++){
        System.out.print(i+"");
        if(i%3==0){
            System.out.print("foo");
        }
        if(i%5==0){
            System.out.print("biz");
        }
        if(i%7==0){
            System.out.print("baz");
        }
        System.out.println();//换行
    }
    }
}


//练习六:
/*输入两个正整数m和n,求其最大公约数和最小公倍数。
比如:12和20的最大公约数是4,最小公倍数是60。
说明:break关键字的使用
*/
import java.util.Scanner;
class ForTest{
    public static void main(String[] args){

    Scanner scan=new Scanner(System.in);
    
    System.out.println("请输入第一个正整数");
    int m=scan.nextInt();
    System.out.println("请输入第二个正整数");
    int n=scan.nextInt();

    //获取最大公约数
    //获取两个数的较小值(因为最大公约数一定不大于两个数的较小值)
    int min=(m<=n)?m:n;//使用三元运算符获取最小值
    for(int i=min;i>=1;i--){//最大公约数的值一定在[1,min]之间,从min开始到1,依次判断是否符合条件
        if(m%i==0 && n%i==0){
            System.out.println("最大公约数为:"+i);//if语句是循环体
            break;  //一旦遇到符合条件的就跳出循环
        }
    }
    

    //获取最小公倍数
    //获取两个数的最大值
    int max=(m>n)?m:n;//三元运算符获取最大值
    for(int i=max;i<=m*n;i++){ //最小公倍数一定在[max,m*n]范围内
        if(i%m==0 && i%n==0){
            System.out.println("最小公倍数为:"+i);
            break;
        }
    }
    }
}


//练习七:
//打印1~100之间所有奇数的和
class ForTest{
    public static void main(String[] args){
    
    int sum=0;
    for(int i=1;i<=100;i++){
        if(i%2!=0){
    }//why?!加大括号输出结果为5050;不加大括号结果为2500
        sum+=i;
    }
    System.out.println(sum);
    }
}


//练习八:
输出所有的水仙花数,所谓水仙花数是指一个3位数,其各个位上数 字立方和等于其本身。 例如: 153 = 1*1*1 +
 3*3*3 + 5*5*5
class ForTest{
    public static void main(String[] args){
    
    for(int i=100;i<1000;i++){
        if(((i/100)^3+(i%100/10)^3+(i%10)^3)==i){
            System.out.println(i);
        }
    }
    }
}//为什么编译成功,输出来却啥也没有啊

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值