有关for循环的一些东西

有的时候,不知道是因为学的有点浅显,还是脑袋有点懵,简单的循环语句都有点被绕糊涂了。
这种内外循环的,先是外循环一次,内循环全部,接着再外循环第二次,内循环全部,,,,,,,。
所以先是显示
0 4
0 3
y=4 循环一次后,y-- =3,接着循环一次,y--=2,可知不满足y > 2,所以就循环了两次,内循环就结束了
接着是x = 1的时候,满足x<4,继续执行外循环,接着内循环又全部,但是这里要注意的是因为有一个if语句,所以再x++之后,x=2了,所以是
2 4
2 3
又完成一次内循环全套,x=2回到外循环,要x++,所以x =3,可知可以继续循环,外循环再一次,内循环全套循环直到内循环结束,
所以显示为
3 4
3 3.
这里要注意的是对于
for (int i = 0; i < 4; i++)
循环的次数以及啥时候跳出里面的理解还是要注意,不然容易多算或者少算一次,一开始i=0,那么符合i<4,所以执行一次循环,循环然后回到for()这里,此时的i会++一下,所以i=1,所以继续循环,接着又+1=2,还可以继续循环,再+1=3,接着继续循环,再+1等于4,不满足条件了,退出这个循环,所以循环了4次。可以简单理解成4-0=4次。

比如像这个的话,也可以简单利用加减来判断,当然前提是在逐渐加一或者逐渐减一的情况下,外循环是执行4-0=4次,内循环执行4-2=2次,所以会执行4*2=8次,会输出8行结果。

又比如下面这题

这里值得注意的点是如果x会等于6,那么就终止循环,终止的内循环for(inner)这个,外循环继续加一进行,这里易弄错,还有一点是,当内循环全套执行完后,y的值要减2(不是内循环里面那个y=y-2,而是内循环外的那个y=y-所要执行的动作)
这个是过程:

同样的 把上面的x =x+3换成是x = x +6之后,结果是x=60 ,y=10
换成是x = x +2之后,结果是x=45 ,y=6
换成是x = x ++之后,结果是x=36 ,y=6
换成是x = x --之后,结果是x=18,y=6
换成是x=x+0;的话,这种情况会碰上x=6的情况,且要执行break语句,比较特殊,来分析一下。
下面是分析结果:

所以最后的输出结果是x=6 ,y = 14.
有关for循环的一些东西的更多相关文章
- JS怎么把for循环出来的东西放到一个数组里
var students=[ {name: "vehicleTravelLicenseCopyBack", id: "a1"}, {name: "ve ...
- for 循环打印图形
public class For { public static void main(String[] args) { //"使用双层for循环打印图形时,外层管行,内层管列",那 ...
- Objective-C 高性能的循环
Cocoa编程的一个通常的任务是要去循环遍历一个对象的集合 (例如,一个 NSArray, NSSet 或者是 NSDictionary). 这个看似简单的问题有广泛数量的解决方案,它们中的许多不乏 ...
- Objective-C 高性能的循环遍历 forin - NSEnumerator - 枚举 优化
Cocoa编程的一个通常的任务是要去循环遍历一个对象的集合 (例如,一个 NSArray, NSSet 或者是 NSDictionary). 这个看似简单的问题有广泛数量的解决方案,它们中的许多不乏 ...
- C语言中简单的for循环和浮点型变量
浮点型变量:常数中带有小数点的叫做浮点型 以下用for循环写一个摄氏度和华氏度的转换的C程序 [见 http://www.linuxidc.com/Linux/2013-08/88513.htm ] ...
- vue.js循环for(列表渲染)详解
vue.js循环for(列表渲染)详解 一.总结 一句话总结: v-for <ul id="example-1"> <li v-for="item in ...
- js学习笔记2:循环和try/catch/throw
今天学习了js的比较.if/else.switch/case和各种循环,这些东西每种语言都大同小异,没什么好看的,重点说一下js的循环. JavaScript 支持不同类型的循环: for - 循环代 ...
- [bzoj2510]弱题 (循环矩阵优化dp)
Description 有M个球,一开始每个球均有一个初始标号,标号范围为1-N且为整数,标号为i的球有ai个,并保证Σai = M. 每次操作等概率取出一个球(即取出每个球的概率均为1/M),若这个 ...
- while循环和dowhile
while循环语句 根据条件来选择是否执行循环体内的执行语句 while语句会循环判断条件是否成立只要成立就会执行,直到条件不匹配循环结束 int a = 0: while(a<10){ a++ ...
随机推荐
- 一个关于HttpClient的轮子
由于本文较长,需要耐住性子阅读,另外本文中涉及到的知识点较多,想要深入学习某知识点可以参考其他博客或官网资料.本文也非源码分析文章,示例中的源码大多是伪代码和剪辑过的代码示例,由于该轮子为公司内部使用 ...
- Hadoop(五):HDFS的JAVA API基本操作
HDFS的JAVA API操作 HDFS在生产应用中主要是客户端的开发,其核心步骤是从HDFS提供的api中构造一个HDFS的访问客户端对象,然后通过该客户端对象操作(增删改查)HDFS上的文件. 主 ...
- Tcl编成第二天,set与unset
代码如下: #!/usr/bin/tclsh set value "one" puts $value unset value puts $value set表示创建一个变量第一个参 ...
- 合理使用CSS框架,加速UI设计进程
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文出处:https://dzone.com/articles/how-to-speed-up-your-d ...
- 配置spark历史服务(spark二)
1. 编辑spark-defaults.conf位置文件 添加spark.eventLog.enabled和spark.eventLog.dir的配置修改spark.eventLog.dir为我们之前 ...
- Linux C++ 网络编程学习系列(7)——mbedtls编译使用
mbedtls编译使用 环境: Ubuntu18.04 编译器:gcc或clang 编译选项: 静态编译使用 1. mbedtls源码 下载地址: https://github.com/ARMmbed ...
- Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(六)之Initialization & Cleanup
Two of these safety issues are initialization and cleanup. initialization -> bug cleanup -> ru ...
- 知识点二:HTTP超文本文件传输协议
HTTP超文本传输协议概念: http1.1之前采用非持续链接服务器在建立连接上开销较大,http1.1之后默认采用持续连接,并有超时设置 http协议:超文本文件传输协议,用于传输文本文件,请求的方 ...
- 【Jenkins】插件更改国内源
最近调试脚本,本机安装了Jenkins,但是安装插件时一直失败.更改升级站点也不生效,究其原因是因为default.json中插件下载地址还https://updates.jenkins.io,升级站 ...
- A - Smith Numbers POJ
While skimming his phone directory in 1982, Albert Wilansky, a mathematician of Lehigh University,no ...