zoukankan      html  css  js  c++  java
  • Java 第六章

    第六章

    for语法:
    for(表达式①;表达式②;表达式③){
    //④循环操作
    }
    表达式含义:
    表达式1:赋值语句, 它用来给循环变量赋初值 例如:int i = 1;
    表达式2:循环条件,一个关系表达式, 它决定什么时候退出循环 例如:i < 5;
    表达式3:变量迭代 例如: i++
    三个表达式均可省略,但分号不能省!!!!!

    执行过程:
    1.表达式1
    2.判断表达式2,如果为true,执行循环操作,否则退出循环,第三步不执行
    3.循环操作执行完毕后,执行表达式3(迭代部分),改变循环变量值
    4.依次重复步骤2~3,直到退出循环
    表达式2满足条件
    if(表达式①;表达式②;④循环操作){
    表达式③
    }
    执行流程:①---->②---->③---->④
    --------------------------------------------------------------------------
    注意事项:
    for(;i<10;i++){
    System.out.println("这是 "+i);
    }
    编译错误:
    变量 i 没有初始化
    --------------------------------------------------------------------------
    for(int i=0;;i++){
    System.out.println("这是 "+i);
    }
    编译正确,但是缺少
    循环条件,造成死循环
    --------------------------------------------------------------------------
    for(int i=0;i<10;){
    System.out.println("这是 "+i);

    }
    i++;
    编译通过,但是循环变量的值无变化,
    造成死循环
    省略表达式3,在循环体内应设法改
    变循环变量的值以结束循环
    --------------------------------------------------------------------------
    for(;;){
    System.out.println("这是测试");
    }
    表达式全省略,无条件判断,循环变量无改变,
    应在循环体内设法结束循环;否则会造成死循环
    --------------------------------------------------------------------------

    //break是结束整个循环体,continue是结束单次循环
    比方说:
    while(x++ < 10){
    if(x == 3){
    break;
    }
    System.out.println("值:" + x);
    }
    结果是输出 1 2 就退出了整个while循环

    但是如果使用continue
    while(x++ < 10){
    if(x == 3){
    continue;
    }
    System.out.println("值:"+ x);
    }
    结果是:1 2 4 5 6 7 8 9 10 可见他仅仅是不输出3,因为他结束了本次循环
    当循环执行到break语句时,就退出整个循环,然后执行循环外的语句 改变程序控制流。
    当循环语句执行到continue时,当次循环结束,重新开始下一轮循环。如果已经是最后一轮循环了,那么这是的continue就与break效果一样了。

    到目前为止所学的循环结构有哪些?
    语法区别:
    while | do-while | for
    while循环: | do{ | for(初始化;条件;迭代){
    while(<条件>){ | //循环体 | //循环体
    //循环体 | }while(<条件>); | }
    | |
    需要多次重复执行一个或多个任务的问题考虑使用循环来解决
    无论哪一种循环结构,都有4个必不可少的部分:初始部分、循环条件、循环体、迭代部分

    执行顺序:
    while 循环:先判断,再执行
    do-while循环:先执行,再判断
    for循环:先判断,再执行

    适用情况:
    循环次数确定的情况,通常选用for循环
    循环次数不确定的情况,通常选用while或do-while循环

    for案例:
    /**
    *计算1到100的和
    */
    public class Summation {

    public static void main(String[] args) {
    int sum = 0; //声明变量sum存放计算的和,赋初值为0
    for(int i=1;i<=100;i++)
    sum +=i;//等价于语句sum=sum+score
    System.out.println("sum="+sum);
    }

    }


    /**
    * 使用for 循环
    * 输入学生的5们功课,查询该学生的总成绩和平均分数
    */
    import java.util.Scanner;

    public class AverageScores {
    public static void main(String[] args) {
    int score; //声明一个变量,取名为score,用来接收学生的成绩值
    int sum= 0; //声明一个变量,取名sum,用来存储学生的成绩和
    double avg =0.0; //声明一个double类型的变量,用来接收计算出来的学生的平均分
    Scanner sc = new Scanner(System.in); //获取键盘输入
    System.out.println("请输入学生的姓名:");
    String name = sc.next(); //将获取的输入赋值给一个String类型的name变量
    int i= 0; //声明一个int类型的变量,赋初始值为0
    for(;i<5;i++){ //循环5次录入成绩
    System.out.println("请输入5门功课的第"+(i+1)+"门的成绩:");
    score = sc.nextInt(); //录入成绩
    sum += score; //等价于语句 sum=sum+score;
    System.out.println(name+"的前"+(i+1)+"门功课的成绩和是:"+sum);
    }
    System.out.println(name+"的总成绩是:"+sum);
    avg = sum/5; //计算平均成绩
    System.out.println(name+"的平均分是:"+avg);

    }

    变量为汉字
    /**
    * 使用for 循环
    * 输入学生的5们功课,查询该学生的总成绩和平均分数
    */
    import java.util.Scanner;

    public class 求学生的平均成绩 {
    public static void main(String[] args) {
    int 单科成绩;
    int 总成绩= 0;
    double 平均分 =0;
    Scanner 键盘输入 = new Scanner(System.in);
    System.out.println("请输入学生的姓名:");
    String 学生姓名 = 键盘输入.next();
    int i= 0;
    for(;i<5;i++){
    System.out.println("请输入5门功课的第"+(i+1)+"门的成绩:");
    单科成绩 = 键盘输入.nextInt();
    总成绩 += 单科成绩;
    System.out.println(学生姓名+"的前"+(i+1)+"门功课的成绩和是:"+总成绩);
    }
    System.out.println(学生姓名+"的总成绩是:"+总成绩);
    平均分 = 总成绩/5;
    System.out.println(学生姓名+"的平均分是:"+平均分);
    }
    }

  • 相关阅读:
    js 小数乘积位数太长
    微信浏览器跳转外部浏览器 app下载
    linux 查询制定目录的制定内容
    windows apache 跳转 tomcat 代理
    windows版 nginx配置反向代理实例教程 跳转tomcat和php网站
    概率论公式
    Python scipy 计算短时傅里叶变换(Short-time Fourier transforms)
    Centos 解决SSH 免密码登录 以及Crontab制作定时SSH自动登录和关闭的脚本
    python3 日志检索异常抛出异常 raise KeyError(key),KeyError: 'formatters'
    Pthon Matplotlib 画图
  • 原文地址:https://www.cnblogs.com/chenyang520/p/7637356.html
Copyright © 2011-2022 走看看