For循环

For循环

语法

for(表达式1(初始化变量);表达式2(循环条件);表达式3(迭代循环条件)){

​ 循环操作4;

}

执行顺序

1->2->4_>3 2->4->3

for循环语法结构,打印成绩

import java.util.Scanner;

/**
 * @author xiaoDong
 * @version 1.0.0
 * @ClassName ForDemo1.java
 * @Description for循环语法结构,打印成绩
 * @createTime 2021年03月29日 10:34:00
 */
public class ForDemo1 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入学员名称:");
        String name = input.next();
        //总分
        double sum =0;
        for (int i = 1; i <=5 ; i++) {
            System.out.println("第"+i+"门课程的成绩为:");
            double score = input.nextDouble();
            sum  = score+sum;
        }
        System.out.println(name+"5门成绩平均分为:"+(sum/5));
    }

}

加法两种方式

import java.util.Scanner;

/**
 * @author xiaoDong
 * @version 1.0.0
 * @ClassName ForDemo2.java
 * @Description 加法
 * @createTime 2021年03月29日 10:50:00
 */
public class ForDemo2 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个数值");
        int num = input.nextInt();
        System.out.println("第一种方式");
        for (int i = 0; i <=num ; i++) {
            System.out.println(i+"+"+(num-i)+"="+(i+(num-i)));
        }
        System.out.println("第二种方式");
        for (int i = 0,j=num; i <=num; i++,j--) {
            System.out.println(i+"+"+j+"="+(i+j));
        }


    }
}

特点

  1. 初始化变量可以不写在for的语句中,可以定义成全局变量
  2. 循环条件可以不写,编译通过 ,会造成死循环
  3. 迭代次数可以不写,循环条件永远满足,造成死循环,如果不在for的语句上写,可以写在我们的循环体里面
  4. for语句里的所有参数都可以不写,但不能省略2个**;**编译通过,但是会造成死循环

代码实现 100以内不能被3整除的数之和

/**
 * @author xiaoDong
 * @version 1.0.0
 * @ClassName ForDemo3.java
 * @Description 100以内不能被3整除的数之和
 * @createTime 2021年03月30日 09:59:00
 */
public class ForDemo3 {
    public static void main(String[] args) {
        //存放和
        int sum=0;
        for (int i = 1; i <=100 ; i++) {
            if(i%3!=0){
                sum = sum+i;
            }
        }
        System.out.println("100以内不能被3整除的数之和:"+sum);

    }
}

计算客户比例

import java.util.Scanner;

/**
 * @author xiaoDong
 * @version 1.0.0
 * @ClassName ForDemo4.java
 * @Description 计算客户比例
 * @createTime 2021年03月30日 10:25:00
 */
public class ForDemo4 {
    public static void main(String[] args) {
        //存放30岁以上的人数
        double count =0;
        for (int i = 1; i <=10 ; i++) {
            System.out.println("请输入第"+i+"位客户的年龄");
            Scanner input = new Scanner(System.in);
            int age = input.nextInt();
            if(age>=30){
                count++;
            }
        }
        //30以上人数的比例
        double discount30 =count/10;
        //30以下人数的比例
        double discout30v =(10-count)/10;

        System.out.println("30岁以上的人的比例是:"+(discount30*100)+"%");
        System.out.println("30岁以下的人的比例是:"+(discout30v*100)+"%");

    }



}

break语句

作用

控制流程,跳出语句块,执行语句块下面的代码

通常和条件一起使用

代码实现-> 录入成绩,当录入有误时跳出循序,没有计算平均分

import java.util.Scanner;

/**
 * @author xiaoDong
 * @version 1.0.0
 * @ClassName ForDemo5.java
 * @Description 录入成绩,当录入有误时跳出循序,没有计算平均分
 * @createTime 2021年03月30日 10:48:00
 */
public class ForDemo5 {
    public static void main(String[] args) {
        //存放总成绩
        double sum =0;
        boolean isOk = true;
        Scanner input = new Scanner(System.in);
        System.out.println("请输入学生姓名:");
        String name = input.next();
        for (int i = 1; i <=5 ; i++) {
            System.out.println("请录入第"+i+"门课程的成绩:");
            double score = input.nextDouble();
            if(score<0){
                isOk = false;
                break;
            }
            sum = sum+score;
        }
        if(isOk){
            System.out.println(name+"的五门成绩的平均分是:"+sum/5);
        }else {
            System.out.println("分数录入有误,请重新录入");
        }


    }
}

1~10数字相加,当和大于20时跳出循序

/**
 * @author xiaoDong
 * @version 1.0.0
 * @ClassName ForDemo6.java
 * @Description 1~10数字相加,当和大于20时跳出循序
 * @createTime 2021年03月30日 11:03:00
 */
public class ForDemo6 {
    public static void main(String[] args) {
        int sum =0;
        for (int i= 1; i <=10 ; i++) {
            sum=sum+i;
            if(sum>20){
                System.out.println(i);
                break;
            }
        }
    }
}

continue语句

作用

跳出本次循环,执行下次循环

通常和if判断一起使用

只能用在循环体内

import java.util.Scanner;

/**
 * @author xiaoDong
 * @version 1.0.0
 * @ClassName ForDemo7.java
 * @Description TODO
 * @createTime 2021年03月31日 08:08:00
 */
public class ForDemo7 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        //存放80以上人的人数
        int num =0;
        for (int i = 1; i <=10 ; i++) {
            System.out.println("请输入第"+i+"位学生的成绩:");
            double score = input.nextDouble();
            if(score<80){
                continue;
            }
            num++;
        }
        System.out.println("80以上的人数有:"+num);
        System.out.println("所占比例为:"+(double)num/10);
    }

break与continue的对比

  1. break可以在switch与循环中使用

  2. continue只能在我的循环中使用

  3. break的作用:跳出循序,执行循序语句后面的代码

  4. continue:跳出本次循环,执行下一次循环操作

  5. 碰到break还是我的continue,该下面的代码都不在执行

添加用户

import java.util.Scanner;

/**
 * @author xiaoDong
 * @version 1.0.0
 * @ClassName AddUser.java
 * @Description 添加用户
 * @createTime 2021年03月31日 08:56:00
 */
public class AddUser {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        for (int i=1;i<=3;i++){
            System.out.println("请输入会员卡号:");
            int num = input.nextInt();
            if(num<1000||num>10000){
                System.out.println("会员卡号输入有误(1000~9999)");
                continue;
            }
            System.out.println("请输入生日:");
            String br = input.next();
            System.out.println("请输入积分");
            int jf = input.nextInt();

            System.out.println("你录入的会员信息是:");
            System.out.println(num+"\t"+br+"\t"+jf);
        }
        System.out.println("程序结束!");
    }
}

登录校验

import java.util.Scanner;

/**
 * @author xiaoDong
 * @version 1.0.0
 * @ClassName Verify.java
 * @Description 校验
 * @createTime 2021年03月31日 09:51:00
 */
public class Verify {
    public static void main(String[] args) {
        //用户名
        String name ="hby";
        //密码
        int pwd = 123456;
        Scanner input = new Scanner(System.in);
        for (int i = 1; i <=3 ; i++) {
            System.out.println("请输入你的用户名:");
            String uname = input.next();
            System.out.println("请输入你的密码:");
            int upwd = input.nextInt();
            if(!name.equals(uname)||pwd!=upwd){
                System.out.println("输入有误,还有"+(3-i)+"次机会");
                continue;
            }else {
                System.out.println("欢迎"+uname+"进入直播间!");
                break;
            }

        }
    }
}

目前所碰到的循序

while:先判断,在执行

while(循环条件){循环操作};

do-while:先执行,在判断

do{循环操作}while(循环条件);(分号不能忘记)

for:先判断,在执行

for(初始化变量;循环条件;迭代循环变量){

​ 循环操作;

}

适用情况:for循环是固定次数的时候,其他的用while或do-while

/**
 * @author xiaoDong
 * @version 1.0.0
 * @ClassName Rabbit.java
 * @Description 兔子问题
 * @createTime 2021年03月31日 10:41:00
 */
public class Rabbit {
    public static void main(String[] args) {
        //上个月兔子
        int one =1;
        //上上个月兔子
        int two =1;
        //存放总兔子
        int sum =0;
        //1对兔子在第3个月开始生新兔子
        for (int i = 1; i <=12; i++) {
            //第一个月 1
            //第二个月 1
            //第3个月  2
            //第4个月  3
            if(i<3){
                sum =1;
            }else {
                sum = one+two;
                two =one;
                one = sum;
            }
            System.out.println("第"+i+"个月的兔子量为:"+sum);
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值