| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 986 人关注过本帖
标题:菜鸟笔记(4)好像没发上刚才...记得下午发了,可没有..?.如果重发了...请删..
只看楼主 加入收藏
ccnjava
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2004-7-13
收藏
 问题点数:0 回复次数:4 
菜鸟笔记(4)好像没发上刚才...记得下午发了,可没有..?.如果重发了...请删..

菜鸟笔记(4)while

Java语言中有几种结构.以前我们学习了顺序结构,分支结构. 顺序结构就是执行的时候按照程序编写的顺序执行. 分支结构就是if...else... 或者 switch 有条件的选择执行 而今天我们学习的是循环结构. 循环结果就我知道的有三种1while 2do...while 3for 其中今天只学习while.

循环结构的好处.程序有的时候需要反复执行同一段代码.如果 按照以上的两种办法,就要不断的重复书写代码.很麻烦. 为了解决这样的问题,java提供了循环loop控制结构来反复执行同 一段代码.while就是循环结构的其中一种.

在让我们学习while之前先来看看循环的基本结构. 一个完整的循环体包括4个部分: 1初始化(initialization):主要用来设置程序的初始化,比如设置变量等 2终止(termination):一般来说是一个表达式,每一次都要查看改表达式的 值是否到了退出循环的条件. 3循环体(body):设置需要反复执行的一条语句,也可以是复合语句. 4迭代(iteration):循环是要反复的执行一段代码,但是循环也要设置退出 条件,比如要它循环多少次.我中文说不清楚,看例题比较好理解..

以上4条应该是循环的结构吧. 下面我门先看while的格式,然后在看一道例题. [initialization] //初始化 while(termination) { //终止 body; //循环体 [iteration;] //迭代 }

让我们先来看一道最简单的例题; 例1: public class L1{ public static void main(String args[]){ int i=1; //初始化 while(i<5){ //终止 System.out.println("说来惭愧");//循环体 ++i;//迭代 } } }

我来简单解释一下,循环体的每一部我都用//标注了. 执行过程: 首先看初始化值,while用初始化值判断表达式部分(表达式部分是输出布尔值) 如果表达式为true,那么执行表达式大括号里面的body.如果为false退出循环. 如果为true,执行body执行以后在运行迭代(iteration)部分.在本例题中,初始 化值为1,在执行一次迭代部分以后i变成了2. 这时2在于终止(termination) 部分(i<5)进行判断...一直到i=5时候,(i<5)为假,这时候判断句为假,所以 不再执行body 和iteration部分.循环退出了.所以例1一共执行了4次. 执行结果是 说来惭愧 说来惭愧 说来惭愧 说来惭愧

java小贴士:在while中循环体的初始化(initialization)和迭代(iteration) 不是必须有的.但没有迭代...程序必然会造成死循环... 死循环就是坏程序了.这是应该避免的. java小贴士:请注意书写格式,有时候书写格式错误,循环也就跟着错了. 比如刚才的程序少个{},就...我也不明白怎么回事了. java小贴士:要执行复合语句一样要加括号,没什么好说的. java小贴士:while程序是先判断表达式是否为真在执行程序,这与do...while 相反,do...while...式先执行程序在判断表达式,这个以后再说. 但是记住while执行的次数可以是0次.

其实...感觉while说到这里也没有什么好说的了,给几个例题吧. 我们把上题稍做修改 例2 public class L1{ public static void main(String args[]){ int i=1; while(i<10){ System.out.println("这是执行的第"+i+"次"); i=i+2; } } }

简单解释一下 其中的变化细微.大家可以看到迭代部分由++i;变成了i=i+2;这些怎么写都行 另外body有一点变化而已.

在放入一个例题,也只有一点变化而已 例3 public class L1{ public static void main(String args[]){ int i=1; while(i<10){ System.out.print(i+" "); i++;

} } }

程序输出的是1 2 3 4 5 6 7 8 9 java小贴士:当我么想输出空格的时候可以采取空字符串加一个空格的写法. i+" " 就是这样了.

java小贴士:不过还有一点要注意 假设有这么一题 int i=1; while(i<=5){ System.out.println(i); i++; 如果它要问i的值几.那么答案是i的值是6. 因为它i=5的时候程序依然执行,然后进行迭代,i=6,程序才退出,但这时 i已经赋值成6了.

其实while并不难.我写了这么多其实有点贫(旁人:其实是很贫) (小菜鸟...)其实小菜鸟写这么多,无非是想打好基础...小菜鸟觉得多做例题 没有坏处...呵呵 不过要记住循环程序的4大部分.因为后面的do...while和 for也是同样的道理,只不过跟while格式不同罢了.

菜鸟笔记,菜鸟水平,如果错误,还请多多海涵.

另外奥运会今天开始了,耶,今天是开幕式.小菜鸟也是爱国人.虽然帮不上忙 但是给中国体育健儿加油助威没问题.今天开幕式这么大的仪式! 我一定做到,想起来就看.忘记了就算了...

...今天就说到这里.小菜菜告退...

另外~~~~~~带Q一题 对了,while的欠套怎么做? 比如int i=1; while(i<=5){

} System.out.println(i); i++; } 我要在里面在欠套一个while格式怎么做呢?随便欠套一个都行.能否麻烦大人帮忙 写一下.我找过几本书都没有教while欠套格式. 按理说应该不难,可..我自己试过几个方法全错...

搜索更多相关主题的帖子: 笔记 发上 
2004-08-13 19:16
tempnetbar
Rank: 2
等 级:新手上路
威 望:4
帖 子:582
专家分:4
注 册:2004-5-5
收藏
得分:0 

while(i<5) { while(j<5) { } }

这样不行吗?


相信勤能补拙! 喜欢用好用的就永远学不到有用的。
2004-08-13 19:22
ccnjava
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2004-7-13
收藏
得分:0 
呵呵

唉..小菜鸟怎么试都不对,我这就下去试您的方法呵呵

如果顺利明天应该能写完菜鸟笔记(5)do...while了

之所以写菜鸟笔记除了我自身学习外还有一个目的

因为我经常在这里麻烦别人,我真的也很想做有用的人.可我的水平

却谁也帮不上忙...所以我才想写个笔记,希望初学着能看看...

也算是我为...大家仅一份微薄之力吧.


特此感谢三位版主对小菜鸟长期以来的帮助 他们是 jellen(类痴狂人 ) tempnetbar(J湖散人 )和Anstey (排名不分先后) 呵呵,这些日子让小菜鸟受益非浅。 忠心的谢谢您们!
2004-08-13 21:44
ccnjava
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2004-7-13
收藏
得分:0 

还有一点...小菜鸟今天给tempnetbar J湖散人您发信了

我看到您回信了,可是...我的IE有毛病.点信以后出一个信窗口,

然后开始菜蛋窗口一下变白色,什么都没了..点一次出一个新的白的窗口


特此感谢三位版主对小菜鸟长期以来的帮助 他们是 jellen(类痴狂人 ) tempnetbar(J湖散人 )和Anstey (排名不分先后) 呵呵,这些日子让小菜鸟受益非浅。 忠心的谢谢您们!
2004-08-13 21:49
tempnetbar
Rank: 2
等 级:新手上路
威 望:4
帖 子:582
专家分:4
注 册:2004-5-5
收藏
得分:0 
hoho,我想怎么不回呢,呵呵

相信勤能补拙! 喜欢用好用的就永远学不到有用的。
2004-08-14 08:22
快速回复:菜鸟笔记(4)好像没发上刚才...记得下午发了,可没有..?.如果重发了...请 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015137 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved