第二章: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
第二章:09流程控制[3for]相关推荐
- Python编程高手之路——第二章:流程控制
二.流程控制 2.1 运算方式 计算机的核心部件是CPU,CPU有两个功能,控制和运算: 2.1.1 数学运算 print(a ** b) # 幂 print(a // b) // 取整数 2.1.2 ...
- java的学习--第二章 java流程控制
1.本章内容 控制代码如何执行.是否执行.执行多少次. 2.程序结构 顺序结构 分支结构 循环结构 2.1分支结构 1.if(){} 2.if(){}else{} 3.if(){}else if(){ ...
- 第二章 Java流程控制 ① 笔记
内容回顾: 8种基本数据类型,右侧的数据大小不能超出左侧的类型的范围. 类型的转换 自动(小–>大),强转(大–>小) Scanner(System.in); 课前测 小明去买书,< ...
- c语言程序设计教程 许勇,C语言程序设计应用教程 教学课件 许勇 第3章 程序流程控制.pdf...
第3章 程序流程控制 3.1 结构化程序设计的概念 3.2 顺序程序设计 3.3 选择程序设计 3.4 循环程序设计 3.1 结构化程序设计的概念 C程序结构 C程序 源程序文件1 源程序文件 ...
- 【Python学习笔记—保姆版】第三章—Python流程控制、函数的定义、常见错误、模块与包、类
第三章-python函数.分支结构 流程控制 if-else for 循环 while循环 continue/break range()函数 列表与元组遍历 练习 函数的定义 变量作用域 基本形式 函 ...
- 疯狂Kotlin讲义学习笔记04-05章:流程控制、数组和集合
1.when分支取代swith分支 不在需要使用case关键字 case后面的冒号改为-> default改为更有意义的else 如果一个case里有多条语句,需要将多条语句用大括号括起来 wh ...
- 第二章:Webdriver 控制浏览器前进和后退
Webdriver 控制浏览器前进和后退: 转载于:https://www.cnblogs.com/wanghonggang-521/p/7236311.html
- 【学习笔记】第二章——进程的控制、通信
文章目录 一. 进程控制 如何实现进程控制 创建 终止 阻塞 & 唤醒 切换 总结 二. 进程间的通信 定义 1)共享存储 2)管道通信 3)信息传递 总结 一. 进程控制 def: 实现进程 ...
- 读书笔记_C#入门经典(第5版)第四章_流程控制
布尔逻辑 逻辑运算符 && || ! 布尔赋值运算符 &= 的值为 例子:a&=b a=a&b |= 的值为 例子:a|=b a=a|b ^= 的值为 例子:a ...
最新文章
- Canvas实现文字粒子化,并且绕轴旋转(完善)
- 列表刷新+SBJSON+HTTP
- 重置CentOS阿里云的mysql密码
- matlab中quat2angle,RPY_Euler_Quaternion_AngleAxis角度转化:Matlab、Python、Halc
- 掩码图制作photoshop__新手用
- javascript中children和childNodes的区别
- SpringBoot 之Spring Boot Starter依赖包及作用
- centos svn服务器端口配置文件,centos下配置svn服务器
- android点击运行后无法显示设备,Android仿真器除了黑屏外什么都不显示,adb设备显示“设备离线”...
- 写一篇Hook Driver.
- UnityShader28:噪声纹理
- AUTOCAD——添加自定义填充图案
- 全国各省市固定资本形成额数据 (1990-2018年)
- 威刚SU600固态硬盘不识别通电无反应慧荣SM系列主控数据恢复![图]
- 论hr面试问题:离职原因
- weblogic上服务器上日志查看及ohs服务器重启
- JAVA儿童接种系统计算机毕业设计Mybatis+系统+数据库+调试部署
- 计算机关闭自带杀毒,Win10专业版系统中关闭自带杀毒软件操作方法
- 大数据必学语言Scala(一):Scala简介
- Uva207 PGA Tour Prize Money
热门文章
- uint8_t / uint16_t / uint32_t /uint64_t 数据类型大总结
- 【cudnn】cudnn 安装
- Warning: Unknown: The session id is too long
- mysql explain中key_len值的说明
- 如何在不亏本的情况下构建道德数据科学系统?
- Ubuntu下使用pjsip点对点通话
- 2002年呼伦贝尔之行照片
- VC中的cl.exe
- 快速计算整数的二进制表示法中1的个数
- redminote8自动关机怎么回事_红米Note8Pro手机值得入手吗 红米Note8Pro手机全面评测...