第二章:09流程控制[3for]

①格式

for(初始化语句;判断条件语句;控制条件语句) {

    循环体语句;

}

②注意事项

A:判断条件语句无论简单还是复杂结果是boolean类型。

B:循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略。

C:一般来说:有左大括号就没有分号,有分号就没有左大括号

③实例

/*

For循环结构的使用

一、循环结构的4个要素

① 初始化条件

② 循环条件  --->是boolean类型

③ 循环体

④ 迭代条件

二、for循环的结构

for(①;②;④){

   ③

}

执行过程:① - ② - ③ - ④ - ② - ③ - ④ - ... - ②

*/

class ForTest {

   public static void main(String[] args) {

       /*

       System.out.println("Hello World!");

       System.out.println("Hello World!");

       System.out.println("Hello World!");

       System.out.println("Hello World!");

       System.out.println("Hello World!");

       */

       for(int i = 1;i <= 5;i++){//i:1,2,3,4,5

           System.out.println("Hello World!");

       }

       //i:在for循环内有效。出了for循环就失效了。

       //System.out.println(i);

       

       //练习:

       int num = 1;

       for(System.out.print('a');num <= 3;System.out.print('c'),num++){

           System.out.print('b');

       }

       //输出结果:abcbcbc

       System.out.println();

       //例题:遍历100以内的偶数,输出所有偶数的和,输出偶数的个数

       int sum = 0;//记录所有偶数的和

       int count = 0;//记录偶数的个数

       for(int i = 1;i <= 100;i++){

           

           if(i % 2 == 0){

               System.out.println(i);

               sum += i;

               count++;

           }

           //System.out.println("总和为:" + sum);

       }

       System.out.println("总和为:" + sum);

       System.out.println("个数为:" + count);

   }

}

 

需求:求5的阶乘。

什么是阶乘呢?

    n! = n*(n-1)! 规则

    n! = n*(n-1)*(n-2)*...*3*2*1

      //定义最终结果变量

      int jc = 1;

      //这里的x其实可以直接从2开始

      for(int x=2; x<=5; x++) {

          jc *=x;

      }

      System.out.println("1-5的阶乘是:"+jc);

需求:在控制台输出所有的”水仙花数”  

分析:

    所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。

    举例:153就是一个水仙花数。

    153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153

    A:三位数其实是告诉了我们范围。

    B:通过for循环我们就可以实现获取每一个三位数

      但是麻烦是如何获取这个三位数的个,十,百位上的数据

      我们如何获取一个数据的个,十,百呢?

        假设有个一个数据:153

        ge:    153%10 = 3

        shi: 153/10%10 = 5

        bai:153/10/10%10 = 1

        qian:x/10/10/10%10

        wan:  x/10/10/10/10%10

        ...

    C:让ge*ge*ge+shi*shi*shi+bai*bai*bai和该数据比较

      如果相同,就把该数据在控制台输出。

 

             //三位数其实是告诉了我们范围。

    for(int x=100; x<1000; x++) {

        int ge = x%10;

        int shi = x/10%10;

        int bai = x/10/10%10;

        //让ge*ge*ge+shi*shi*shi+bai*bai*bai和该数据比较

        if(x == (ge*ge*ge+shi*shi*shi+bai*bai*bai)) {

            //如果相同,就把该数据在控制台输出。

            System.out.println(x);

        }

    }

练习:请在控制台输出满足如下条件的五位数

    个位等于万位

    十位等于千位

    个位+十位+千位+万位=百位

分析:

    A:五位数就告诉了我们范围。

    B:分解每一个五位数的个,十,百,千,万位上的数据

    C:按照要求进行判断即可

    //五位数就告诉了我们范围。

    for(int x=10000; x<100000; x++) {

        //分解每一个五位数的个,十,百,千,万位上的数据

        int ge = x%10;

        int shi = x/10%10;

        int bai  = x/10/10%10;

        int qian = x/10/10/10%10;

        int wan = x/10/10/10/10%10;

        //按照要求进行判断即可

        if((ge==wan) && (shi==qian) && (ge+shi+qian+wan==bai)) {

            System.out.println(x);

        }

    }

 

/*

题目:输入两个正整数m和n,求其最大公约数和最小公倍数。

比如:12和20的最大公约数是4,最小公倍数是60。

说明:break关键字的使用:一旦在循环中执行到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();

       

       //获取最大公约数

       //1.获取两个数中的较小值

       int min = (m <= n)? m : n;

       //2.遍历

       for(int i = min;i >= 1 ;i--){

           if(m % i == 0 && n % i == 0){

               System.out.println("最大公约数为:" + i);

               break;//一旦在循环中执行到break,就跳出循环

           }

       }

       

       //获取最小公倍数

       //1.获取两个数中的较大值

       int max = (m >= n)? m : n;

       //2.遍历

       for(int i = max;i <= m * n;i++){

           if(i % m == 0 && i % n == 0){

               

               System.out.println("最小公倍数:" + i);

               break;

           

           }

       }

       

   }

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/Lucky-stars/p/11007680.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/248744.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode,第377场周赛,个人题解

目录 100148.最小数字游戏 题目描述 思路分析 代码详解 100169.移除栅栏得到的正方形田地的最大面积 题目描述 思路分析 代码详解 100156.转换字符串的最小成本I 题目描述 思路分析 代码详解 100158.转换字符串的最小成本II 题目描述 思路分析 代码详解 100148.…

for each....in、for in、for of

一、一般的遍历数组的方法: var array [1,2,3,4,5,6,7]; for (var i 0; i < array.length; i) { console.log(i,array[i]); } 二、用for in的方遍历数组 for(let index in array) { console.log(index,array[index]); }; 三、forEach array.forEach(v>{ cons…

Vue cli3.0创建Vue项目

创建Vue项目 在要创建项目的文件夹下面打开Powershell窗口 输入命令 vue create 项目名称 选择第二项 回车后 选择是否使用历史路由 no 回车 选择 Less 回车 选择第三个 回车 选择第一个 回车 选择第一个 回车 是否保存模板 选择no 完成啦 完成

文件内容的输出io

package bbb; import java.io.*; public class ccc {public static void main(String[]args) throws IOException{ File filenew File("d:/1data.txt"); FileOutputStream outnew FileOutputStream(file); byte buy[]"12345abcdef#%&*软件工程".getByt…

看完后完全了解 Vue 2.0 和 Vue 3.0 的区别

1.数据的双向绑定 Vue2.0使用Object.defineProperty 原理&#xff1a;通过使用 Object.defineProperty 来劫持对象属性的 geter 和 seter 操作&#xff0c;当数据发生改变发出通知 代码&#xff1a; 1 <!DOCTYPE html>2 <html lang"en">3 <head>4…

channels2.X 学习笔记

- No module named asgiref.sync 报错解决&#xff1a; # 报错原因&#xff1a; """ django版本过低&#xff0c; 卸载最新版本的 channels 使用2.x 版本的 """ pip3 uninstall channels - 安装&#xff1a; """ Django 1.11.15 …

风格迁移学习笔记

风格迁移大作业 学习规划 跑通一份代码&#xff01;&#xff01;&#xff01;&#xff08;done&#xff09;对照代码、Blog和论文理解相应的算法过程规划下一步&#xff0c;修改代码&#xff08;done&#xff09;&#xff0c;实现预计功能&#xff08;done&#xff09;调参&…

Netty源码分析第5章(ByteBuf)----第5节: directArena分配缓冲区概述

Netty源码分析第5章(ByteBuf)---->第5节: directArena分配缓冲区概述 Netty源码分析第五章: ByteBuf 第五节: directArena分配缓冲区概述 上一小节简单分析了PooledByteBufAllocator中, 线程局部缓存和arean的相关逻辑, 这一小节简单分析下directArena分配缓冲区的相关过程 …

uni-app(从零开始)

uni-app&#xff08;从零开始&#xff09; uni-app 是什么&#xff1f; uniapp 就是使用Vue.js技术开发所有前端框架的跨端框架uniapp 就是可以将一套代码 发布到多个平台 uniapp 和 Vue 的关系&#xff1f; uniapp是基于vue进行开发&#xff0c;继承了Vue的特性和语法在开…

Remote desktop manager共享账号

因为多个远程机器&#xff0c;是会用了域账号进行登录的。而域账号的密码&#xff0c;三个月之后&#xff0c;密码强制过期 添加一个新的entry&#xff0c;类型是Credential Entry&#xff0c;然后选择用户名/密码 在remote desktop编辑的页面&#xff0c;Credentials选择Crede…

bzoj4403:序列统计

我好傻啊 题目 先来看看长度只能为\(n\)的情况 那么答案非常显然是\(\binom{mn-1}{n}\) 其中\(mR-L1\) 因为我们要构造一个非降序列&#xff0c;显然可能一个数会被选择多次&#xff0c;组合非常不好做&#xff0c;于是我们可以把每一个数的下标加上其对应的下标那么现在的值域…

Mui常用的方法

中对话框 语法&#xff1a;mui.confirm 用法 mui.confirm("确认要切换角色&#xff1f;", "提示", btnArray, function(e) {if(e.index 1) {} else {}});组件名作用alert警告框confirm确认框prompt输入对话框toast消息提示框&#xff08;自动消失&#x…

sudo: pip:找不到命令

https://blog.csdn.net/fcku_88/article/details/84191288转载于:https://www.cnblogs.com/xxswkl/p/11012709.html

java ListMapString,Object遍历的方法

java List<Map<String,Object>遍历的方法 public class Test {public static void main(String[] args) {List<Map<String, Object>> listMaps new ArrayList<Map<String, Object>>();Map<String, Object> map1 new HashMap<Strin…

vue如何更换网页标签的logo

Vue2 版本更换图标 在我们项目的根目录下面去添加或者替换 favicon.icon文件 找到我们的 build 文件夹下面的这两个文件 进行如下配置 favicon: resolveApp(’./favicon.ico’) 刷新后发现并没有什么效果 莫慌 最后一步 重启项目 改变端口 如果重启后还没有起到作用的话就…

Java并发编程的艺术(十)——Java中的锁(5)

1. LockSupport工具 1.1 LockSupport的作用 当需要阻塞或唤醒一个线程的时候&#xff0c;都会使用LockSupport工具类来完成相应工作。LockSupport定义了一组公共的静态方法&#xff0c;这些方法提供了做基本的线程阻塞和唤醒功能。 1.2 LockSupport提供的阻塞和唤醒方法 方法描…

运动-模拟返回顶部

第一步&#xff1a;获取底部的那个按钮对象&#xff0c;默认的情况下那个按钮对象是不可见的。可见的条件的是滚轮距离顶部有距离。 var oBtndocument.getElementById(btn1); 第二步&#xff1a;添加滚轮事件。 (1). 获取滚轮距离顶部的距离。如果距离大于0&#xff0c;就将按钮…

《JavaScript高级程序设计》笔记总结

在北京上班的我每天在上下班路上的时间总共是两个半小时&#xff0c;为了充实这两个多小时的时间&#xff0c;我便花了银子换得了下面这个宝贝 本书内容&#xff08;引用书中前言&#xff09; 本书提供了JavaScript开发人员必须掌握的内容&#xff0c;全面涵盖了JavaScript的…

Task执行多次

项目中&#xff0c;曾经出现过启动时数据库连接数瞬间增大&#xff0c;当时并没有注意该问题。 后期&#xff0c;由于Task任务多次执行&#xff0c;才着手查看这个问题&#xff0c;经排查&#xff0c;由于tomcat中webapp配置多次&#xff0c;导致webapp被扫描多次&#xff08;配…

ES6 的新特性总结

ES6 的新特性总结 关于声明变量 由 var 变成 let 和 const 区别&#xff1a; var声明的变量会挂载到window上&#xff0c;let和const声明的变量不会var声明的变量存在变量提升&#xff0c;而let和const声明的变量不存在变量提升let和const声明的变量形成块级作用域在同一作…