在编程中如何用while叔不停地吻着妈妈嗯啊向右再向左,一直运行?

java初学者,不懂if和while的区别,还有一个问题,在eclipse里用while它就无限循环了,把他改成if之后他的循环还是停不下来,重新打开eclipse用if就可以这是为什么
if是满足条件就执行函数体内代码,while是只要满足while()内条件,方法体内代码就会一直执行。比如while(1)
你写的while条件成立就是死循环,停不下来是因为没有手动终止这个进程
--- 共有 2 条评论 ---
: while和if是不一样的,各有各的用处,加break能跳出循环,但本质跟if不一样。
while后面加个break就行了是吧,谢谢你,又学到东西了!
if满足执行一次, while满足一直执行
If是判断语句,while是循环,不一样的
if语句能否用while语句来替代?eclipse上是可以运行的,但就只是替换了if而已,这两者有啥区别
while(nums[i]&max)
& & & & & &max=nums[i];
& & & &// 如果当前值小于min,则替换min的值
& & & &while(nums[i]&min){
& & & & & &min=nums[i];
IF和while不可以替换!IF是条件语句,while是循环语句,两者本质不同。条件只判断一次就结束了,while却还要回去再次判断条件是否为真,为真就就继续执行循环体。
虽然二者都有条件判断,但是while是用来做循环的,也就是说只要条件满足,就会执行一次循环体,执行完以后会再判断一次条件,如果满足条件,还会再执行一次,终而复始,除非你在循环中对条件进行了改变才会从循环中跳出来。
而if只做一次判断,条件不满足就不执行,满足就执行一次,执行完就往下执行,不会再回过头来继续执行。
我整理了很多java资料,还有免费的课程学习,欢迎你的加入请加q群
java零基础到实战项目
if怎么能和while,while和for循环比较还查不多
你是在逗我们吧
&&&&同为初学者,正好也学到 if 和 while,当时记得札记,一些自己不很成熟的理解,不知道对楼主有没有用,也欢迎大家批评。一些名词是我自己常用的,大家尽可以替代为自己所理解的名词。
&&&&作这些思考的初心是我想万物都是联系的,if , while 虽有区别,应该也有其内在联系,类似于相爱相杀这种。
总的世界观:
1. 行动(变换)产生结果(具体说,行动改变了在环境中的位置,使遇到新的环境,并受到新环境的反馈(输入),改变了下一步行动,这个"行动--反馈--行动--反馈......"过程不断迭代下去)。
2. 世界是分层次嵌套的。
具体到编程,为了形象化的思考,可以具体考虑一个图灵机,读写头是当前你(程序当前语句)的位置,此位置的纸带内容就是当前环境。行动就是纸带的移动和读写操作。
判断本质在于输入对变换的反馈:
意思是,本来变换(行动,运动)是对输入进行的动作,条件判断则是输入对变换进行的动作,这也符合辩证法,互相影响,反正正反。
也就是说,变换不仅可以影响其所处的境界,其所处的境界也能影响变换。
所处的境界能影响变换,就是说,境界对变换的反馈,就是判断。
判断作为反馈的一个例证是,判断条件的总含有引用这个判断的语句的执行结果,即与这个语句相关的某个或某些变量,因为这样才能构成反馈。如果判断与引用此判断的语句是无关的,比如无论语句如何执行,判断总是真或总是假,那么显然判断毫无用处,也没有人会这么用。比如 IF 3&2 执行语句。。。。显然实际编程中没有这种 IF TRUE THEN。。。这种用法,因为这不是反馈!!!因为实际判断就是起到反馈作用,所以不反馈的判断没有用,不会用到。
所以作为一个推论,实际编程中,我猜想Boolean数据类型一般只是用来反馈,而不是用在计算实际应用数值上。
作为另一个推论,所以善用判断可以达成分形效果。比如分形数的生成,Mandelbrot集合的绘制等等,都是用到了判断语句,因为判断只是反馈的另一种说法。
很重要的,比如如果没有判断,境界对变换就没有反馈,变换只能一根筋的一直执行下去。所以要有反馈。比如,循环语句就是不断的变换,比如while,没有反馈只能一直运行,所以用到了if反馈,告诉什么时候停止。
For语句其实也隐含了判断语句,当计数器到达设定值时,停止运行。所以while和for都是用判断反馈来停止执行某语句的意思。都是境界对行动的反作用。
对于普通的 IF 判断,境界对变换只是起到了 启动--停止 这个反馈作用。
而对于深度学习来世,境界可以改变变换本身,改变变换的内容。
最后,判断必须与循环联合起来用。因为判断是一种反馈,反馈的意思是,必须用上一步变换的结果来反馈。所以首先得要有上一步。所以必须用循环。因为如果不用循环,这一条语句执行完了,就执行下一个行动了,怎么反馈?反馈的反字就在于必须再"返"回去。
这同时也说明了循环的作用!!!,循环不只是一步一步向前走的意思,循环最重要的是为了达成反馈。也就是说,循环才能构成现实世界中不断运动不断反馈的过程。不断的循环--反馈过程正是模拟了现实世界不断反馈的过程。为了不断的,一步一步每一步都有反馈,我们必须用循环(一个动作进行完后,接收反馈,再进行这个动作,再接收反馈,再进行这个动作,再接收反馈),这其实也就是e^-ix,这其实就是螺线,这其实就是辩证法中的螺旋前进,这就是就是不断的一个一个的圆,这其实就是现实世界。
即使想要一个反馈,也需要至少一个循环才能达成。比如你试试编程,IF语句进行反馈,一个循环也不写,显然没法反馈。
另外语句不对 IF 判断施加影响,IF 判断也无法形成反馈。
语句对IF中的判断条件施加影响了,但是没有循环,所以没法形成反馈,所以看起来是没用的程序
1 IF y&10 goto 4
3 goto 1 (现代程序中用while语句代替这个goto)
这倒是形成反馈了,但是中间行动没有对IF判断条件施加影响,这也是没啥用的程序。
所以说while就是if,只不过是不断循环的if而已。例证是你把python中的if,直接换成while,不循环的if就变成循环的if了。
停机就是判断,当达到某个条件时停机,而且这个条件是通过程序本身的运动达成的,所以条件是运动的反馈。
所以停机问题,实际上牵扯到反馈问题。而且可能是无穷反馈的问题。数学在无穷反馈上会遇到困难,这就是停机问题难解的原因。
##附:从属于反馈主体的 Side Effets
对于简单的braching,比如 IF X & 100: print("x&100") else print("x&=100"),则不能看作一般的判断,后面的print行动只能作为IF的side effect,不是正常的IF用法,因为并没有形成反馈。一般来说,如上面例子,除了print行动这个side effect外,还必须有针对X的操作,以形成反馈。这才是正常的程序。如上所述,IF不形成反馈的话,编程实践中很少这么用,因为没啥用处。
当然了,可以用Side Effects做很多有用的事情,除了简单的print外。
我们可以用主反馈(修改IF判断条件的语句/行动)来作为总反馈控制,但是用循环块中的Side Effects执行一些具体的业务行动。
比如下面代码
itersLeft = x
while ( itersLeft != 0 ) :
&&& ans = ans + x
&&& itersLeft = itersLeft - 1
print( str(x) + '*' + str(x) + '=' + str(ans))
- 显然 行动--&反馈循环
`itersLeft = itersLeft - 1` (行动)和& `itersLeft != 0`(反馈)
由上面两句话分别组成行动和反馈
- 但是 Side Effect
`ans = ans + x`
进行了主要的业务运算,这个业务运算是从属于主反馈循环的,本身并不参与反馈过程,只是一个受控动作,跟while (实际while相当于while if)本身没有什么关系
附注:之所以用`x=3`等设置循环外变量初始值,是为了设置动作的起始环境。因为下面要进行具体动作前,总要设定动作在那个点开始。之所以初始化实在while循环以外,因为动作一旦开始循环,就不再回到起点了,动作的每次动作都是在其自身的上一步动作所到达的境地上进行的,所以不能再重设环境到起始点,所以不能把初始值设置放在循环内,而要放在循环外。也就是说,对于动作来说,只要初始化一次就可以了。然后动作本身通过自身的运动,给出了每下次循环的起始位置。2015年3月 总版技术专家分月排行榜第二2014年12月 总版技术专家分月排行榜第二2014年9月 总版技术专家分月排行榜第二
2015年3月 .NET技术大版内专家分月排行榜第一2015年2月 .NET技术大版内专家分月排行榜第一2015年1月 .NET技术大版内专家分月排行榜第一2014年12月 .NET技术大版内专家分月排行榜第一2014年11月 .NET技术大版内专家分月排行榜第一
2015年3月 总版技术专家分月排行榜第二2014年12月 总版技术专家分月排行榜第二2014年9月 总版技术专家分月排行榜第二
2015年3月 .NET技术大版内专家分月排行榜第一2015年2月 .NET技术大版内专家分月排行榜第一2015年1月 .NET技术大版内专家分月排行榜第一2014年12月 .NET技术大版内专家分月排行榜第一2014年11月 .NET技术大版内专家分月排行榜第一
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
白手起家, 积分 75, 距离下一级还需 125 积分
论坛徽章:2
初次在linux 下编程,请大侠指教
程序很简单:
#include &stdio.h&
void main()
&&int a=1;
&&printf(“a=%d”,a);
&&while(1);
因为用到了while(1)所以执行后,不知道&&用 哪个命令&&返回到 命令界面,请大侠明指,谢谢
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
白手起家, 积分 10, 距离下一级还需 190 积分
论坛徽章:0
ctrl + c&&结束
巨富豪门, 积分 24925, 距离下一级还需 15075 积分
论坛徽章:0
一脚搞定/////
白手起家, 积分 75, 距离下一级还需 125 积分
论坛徽章:2
白手起家, 积分 51, 距离下一级还需 149 积分
论坛徽章:0
ctrl+z切换到后台。再kill
论坛徽章:4
没明白啥意思啊,你编辑完了,有没编译,也没运行,哪来的死循环?!1217人阅读
在单片机的主程序中,我们在写程序的时候,总是写一个while(1)的语句,以此达到让程序进入一个无限死循环中,其目的是让程序一直保持在我所需要的运行情况下,例如:流水灯的程序让LED灯一直在交替闪烁,LCD显示不停地在刷新。
该循环并不是阻止程序的跑飞(程序的跑飞我会在下一篇博客中学习一番),而是防止main()返回。因为在嵌入式中,main函数是不能返回的,而虽然我们所编写的单片机程序是用的是C语言,可最终下载到单片机里运行的程序包含两个部分:一是我们编写的程序代码,另一部分是编译器自动生成的代码,例如在keil里,观察我们所写的C语言程序在转换成汇编语言后,单片机的代码区,没有写程序的部分,例如全1或全0区域,程序运行到该区域后就会造成意料不到的结果,在没有while(1)的去情况下运行到最后一行的时候,会自动跳转到main函数的第一行,就造成了main()函数的返回。不同的C语言实现的单片机初始化代码会有不同的表现,例如:在cal_main后jmp,或者是在call_main后jmp
0,这些将会导致不可预料的结果。
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:38499次
积分:1577
积分:1577
排名:千里之外
原创:108篇
转载:85篇
(7)(24)(31)(31)(30)(31)(22)(1)(21)龙虎门中人 的BLOG
用户名:龙虎门中人
访问量:4902
注册日期:
阅读量:5863
阅读量:12276
阅读量:418264
阅读量:1106290
51CTO推荐博文
#!/bin/bash
cat&file1&|&while&read&LINE
&&echo&"this&is&$LINE"
&&ssh&-lroot&-p22&192.168.10.169&"df&-h"
done上述脚本期望实现的功能是:读取一个有多行内容的文件file1,每打印一行之后就用ssh远程执行显示远程主机的磁盘分区使用情况。实际执行结果:只打印了第一行和执行了一次ssh命令,脚本就退出了。案例原因解析:while中使用重定向机制,file1文件中的信息都已经读入并重定向给了整个while语句,所以当我们在while循环中再一次调用read语句,就会读取到下一条记录,但是,因为ssh会读取存在的缓存,调用完ssh语句后,输入缓存中已经都被读完了,当read语句再读的时候当然也就读不到纪录,循环也就退出了。解决方法:对ssh使用输入重定向,而防止它去读while的缓存,或者使用for循环避免使用重定向的方式。代码如下:#!/bin/bash
cat&file1&|&while&read&LINE
&&echo&"this&is&$LINE"
&&ssh&-lroot&-p22&192.168.10.169&"df&-h"&&&/dev/null
done#!/bin/bash
for&LINE&in&`cat&file1`
&&echo&"this&is&$LINE"
&&ssh&-lroot&-p22&192.168.10.169&"df&-h"
done本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)

我要回帖

更多关于 oppo手机不停地开关机 的文章

 

随机推荐