4循环控制

  • 4.1 for循环

    • 4.1.1 for循环

      • 固定次数for循环
      • 先执行一次do-while循环
      • 其他while循环
      • Scanner in = new Scanner(System.in);//计算阶乘
        int n = in.nextInt();
        int factor = 1;
        ;
        for (int i = 1; i <= n; i++)
        {
        // factor=i*factor;
        factor *= factor;
        }
        System.out.println(n + "的阶乘值为:" + factor);
    • 4.1.2 复合赋值
      • a*=6 -> a=a*6
      • a/=b+6 -> a=a/(b*6)
      • i=i+1 ->i i++
      •  Scanner in = new Scanner(System.in);//判断素数
        int n = in.nextInt();
        int flag = 0;
        for (int i = 2; i < n; i++)
        {
        if (n % i == 0)
        {
        flag = 1;
        break;
        }
        }
        if (flag == 1)
        {
        System.out.println(n + "不是素数!");
        } else
        {
        System.out.println(n + "是素数!");
        }
  • 4.2循环控制
    • 4.2.1循环控制

      • 素数判断
      •  for (int n = 2; n < 100; n++)//输出100以内的素数
        {
        int flag = 1;
        for (int i = 2; i < n; i++)
        {
        if (n % i == 0)
        {
        flag = 0;
        break;
        }
        }
        if (flag == 1)
        {
        System.out.print(n + " ");
        }
        }
      • break跳出循环
      • continue跳出循环这一轮的语句进入下一轮
    • 4.2.2多重循环
      • lable:
      • 标号标示循环,break lable或 continue lable 可以跳出
      •                  int count = 1;//输出前59个素数
        int n = 2;
        while (count <= 50)
        {
        int flag = 1;
        for (int i = 2; i < n; i++)
        {
        if (n % i == 0)
        {
        flag = 0;
        break;
        }
        }
        if (flag == 1)
        {
        System.out.println("第" + count + "个素数:" + n);
        count++;
        }
        n++;
        }
    • 4.2.3逻辑类型
      • 按照优先级排列
      • &&
      • ||
      •  
         Scanner in = new Scanner(System.in);//凑硬币
        int amount = in.nextInt();
        OUT: for (int one = 0; one <= amount; one++)
        {
        for (int five = 0; five <= amount / 5; five++)
        {
        for (int ten = 0; ten <= amount / 10; ten++)
        {
        for (int twenty = 0; twenty <= amount / 20; twenty++)
        {
        if ((one + 5 * five + 10 * ten + 20 * twenty) == amount)
        {
        System.out.println(one + "张1元," + five + "张5元," + ten + "张10元," + twenty + "张20元");
        break OUT;
        }
        }
        }
        }
        }
  • 4.3循环的例子
    • 4.3.1求和

      •   

         Scanner in = new Scanner(System.in);// f=1-1/2+1/3...求和
        int n = in.nextInt();
        double sum=0;
        int sign=1;
        for (int i = 1; i <= n; i++,sign=-sign)
        {
        sum+=sign*1.0/i;
        }
        System.out.println("和为:"+sum);
        System.out.print("和为:");
        System.out.printf("%.2f",sum);
    • 4.3.2最大公约数
      •   

         Scanner in=new Scanner(System.in);//求最大公约数
        int a=in.nextInt();
        int b=in.nextInt();
        int gcd=1;
        // for(int i=2;i<=a&&i<=b;i++)
        for (int i = 2; i <= (a<b?a:b); i++)
        {
        if((a%i==0)&&(b%i==0))
        {
        gcd=i;
        }
        }
        System.out.println(a+"和"+b+"最大公约数为:"+gcd);
      •  Scanner in=new Scanner(System.in);//辗转相除法求最大公约数
        System.out.println("请输入a和b:");
        int a=in.nextInt();
        int b=in.nextInt(); while (b!=0)
        {
        int r=a%b;
        System.out.println(a+" "+b+" "+r);
        a=b;
        b=r;
        }
        System.out.println("最大的公约数为:"+a);

JAVA基础学习(4)之循环控制的更多相关文章

  1. Java基础学习-- 继承 的简单总结

    代码参考:Java基础学习小记--多态 为什么要引入继承? 还是做一个媒体库,里面可以放CD,可以放DVD.如果把CD和DVD做成两个没有联系的类的话,那么在管理这个媒体库的时候,要单独做一个添加CD ...

  2. Java基础学习中一些词语和语句的使用

    在Java基础学习中,我们刚接触Java会遇到一些词和语句的使用不清的情况,不能很清楚的理解它的运行效果会是怎么样的,如:break,continue在程序中运行效果及跳转位置, 1.先来看看brea ...

  3. Java基础学习笔记总结

    Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ...

  4. 转载-java基础学习汇总

    共2页: 1 2 下一页  Java制作证书的工具keytool用法总结 孤傲苍狼 2014-06-24 11:03 阅读:25751 评论:3     Java基础学习总结——Java对象的序列化和 ...

  5. java基础学习总结——开篇

    java是我学习的第一门编程语言,当初学习java基础的时候下了不少功夫,趁着这段时间找工作之际,好好整理一下以前学习java基础时记录的笔记,当作是对java基础学习的一个总结吧,将每一个java的 ...

  6. Java基础学习笔记(一)

    Java基础学习笔记(一) Hello World 基础代码学习 代码编写基础结构 class :类,一个类即一个java代码,形成一个class文件,写于每个代码的前端(注意无大写字母) XxxYy ...

  7. java基础学习总结——java环境变量配置(转)

    只为成功找方法,不为失败找借口! 永不放弃,一切皆有可能!!! java基础学习总结——java环境变量配置 前言 学习java的第一步就要搭建java的学习环境,首先是要安装 JDK,JDK安装好之 ...

  8. JAVA基础学习-集合三-Map、HashMap,TreeMap与常用API

    森林森 一份耕耘,一份收获 博客园 首页 新随笔 联系 管理 订阅 随笔- 397  文章- 0  评论- 78  JAVA基础学习day16--集合三-Map.HashMap,TreeMap与常用A ...

  9. 尚学堂JAVA基础学习笔记

    目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...

  10. [转帖]java基础学习总结——多态(动态绑定)

    https://www.cnblogs.com/xdp-gacl/p/3644035.html 多态的概念 java基础学习总结——多态(动态绑定) 一.面向对象最核心的机制——动态绑定,也叫多态

随机推荐

  1. ASP.NET MVC入门到精通——MVC请求管道

    https://www.cnblogs.com/jiekzou/p/4896315.html 本系列目录:ASP.NET MVC4入门到精通系列目录汇总 ASP.NET MVC的请求管道和ASP.NE ...

  2. 09 部署nginx web服务器(转发uwsgi请求)

    1 配置nginx转发 $ whereis nginx $ cd /usr/local/nginx/conf $ vi nginx.conf 注释掉原来的html请求,增加uwsgi请求. locat ...

  3. 洛谷P1223 排队接水

    https://www.luogu.org/problem/P1223 #include<bits/stdc++.h> using namespace std; struct st { i ...

  4. Vue.js ---Hello---1

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  5. iOS13禁用深色模式

    全局禁用深色模式(暗黑模式)在Info.plist中增加UIUserInterfaceStyle,值为Light,如下 <key>UIUserInterfaceStyle</key& ...

  6. Spring - Spring Boot - Thymeleaf - textual 模式

    概述 thymeleaf 的 text 模式简单使用 过程会比较啰嗦, 需要结论的同学, 可以直接到底部去寻找 背景 想尝试做一个简单的 模板工具 目的 自动生成一些简单的 重复文本 思路 尽量简单 ...

  7. docker usage (2)

    1. docker command docker start postgres docker container ls --all docker image ls --all docker ps -a ...

  8. js模板引擎mustache介绍及实例

    在Javascript中 mustache.js是实现mustache模板系统. Mustache是一种没有逻辑的模板语法.它可以应用于HTML.配置文件.源代码等任何地方. 它通过使用散列或对象中提 ...

  9. C++ 中字符串查找、字符串截取、字符串替换

    参照:C++基础-string截取.替换.查找子串函数 1.字符串查找 s.find(s1) //查找s中第一次出现s1的位置,并返回(包括0) s.rfind(s1) //查找s中最后次出现s1的位 ...

  10. mysq,oraclel复杂SQL操作汇总

    一.对数据库原有字段默认值的设置 1.删除原有字段默认值 alter table 表名 alter column 字段 drop default;2..重写原有字段默认值alter table 表名 ...