📄 j-scjp-3-1.html
字号:
<TABLE border="0" cellpadding="0" cellspacing="0" width="100%">
<TR>
<TD width="150" height="1" bgcolor="#000000" colspan="6"><IMG alt="" height="1" width="150" src="../i/c.gif"></TD>
</TR>
<TR>
<TD background="../i/sw-gold.gif"><a border="0" href="index.html" onMouseOver="iOver('topmain'); iOver('bottommain'); self.status=mainblurb; return true;" onMouseOut="iOut('topmain'); iOut('bottommain'); self.status=''; return true;"><img alt="主菜单" border="0" src="../i/main.gif" name="topmain"></a></TD><TD background="../i/sw-gold.gif"><a border="0" onMouseOver="iOver('topsection'); iOver('bottomsection'); self.status=sectionblurb; return true;" onMouseOut="iOut('topsection'); iOut('bottomsection'); self.status=''; return true;" href="index3.html"><img alt="章节菜单" border="0" src="../i/section.gif" name="topsection"></a></TD><TD background="../i/sw-gold.gif"><a border="0" onMouseOver="iOver('topfeedback'); iOver('bottomfeedback'); self.status=feedbackblurb; return true;" onMouseOut="iOut('topfeedback'); iOut('bottomfeedback'); self.status=''; return true;" href="j-scjp-11-3.html"><img alt="给出此教程的反馈意见" border="0" src="../i/feedback.gif" name="topfeedback"></a></TD><TD width="100%" background="../i/sw-gold.gif"><img src="../i/c.gif"></TD><TD background="../i/sw-gold.gif"><img border="0" src="../i/xprevious.gif"></TD><TD background="../i/sw-gold.gif"><a border="0" onMouseOver="iOver('topnext'); iOver('bottomnext'); self.status=nextblurb; return true;" onMouseOut="iOut('topnext'); iOut('bottomnext'); self.status=''; return true;" href="j-scjp-3-2.html"><img alt="下页" border="0" src="../i/next.gif" name="topnext"></a></TD>
</TR>
</TABLE>
<table bgcolor="ffffff" cellspacing="0" cellpadding="2" border="0" height="400" width="100%">
<tr valign="bottom">
<a name="navskip"></a><td height="25" colspan="4"><img alt="3.流程控制、断言和异常处理 " src="imagemaster/titlebar3.jpg" border="0" height="25" width="562"></td>
</tr>
<tr>
<td bgcolor="ffffff" width="15"> </td><td bgcolor="ffffff" width="12"> </td><td valign="top" align="left" bgcolor="ffffff" width="*">
<p>
<br>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td width="90%"><font size="4" face="Verdana, Arial, Helvetica"><b>流程控制语句 </b></font></td><td width="200" align="right"><font size="1" face="Verdana, Arial, Helvetica"><nobr> 第 1 页(共5 页)</nobr></font></td>
</tr>
</table>
<br>
<br>
</p>
<font size="2" face="Verdana, Arial, Helvetica">
<p>流程控制语句使您可以有条件地执行语句,可以重复执行一个语句块或者改变后面的流程控制。 </p>
<p>
<b>
<code>if/else</code> 语句 </b>
<br>
<code>if/else</code> 语句用于做出决定 -- 即决定要采取哪条行动路线。其语法为: </p>
<pre>
<code style="font-family: Courier New, Courier, monospace; font-size: 12">
if(boolean expression)
{
// do this if the expression is true
}
else
{
// do this if the expression is false
}
</code>
</pre>
<p>
<code>if/else</code> 语句中的 <code>else</code>部分是可选的。如果主体只有一个语句,则花括号是可选的(注意我们不能像在 C/C++ 中那样用数字值来表示 true 或者 false)。例如: </p>
<pre>
<code style="font-family: Courier New, Courier, monospace; font-size: 12">
if (x == 5) {} // compiles, executes body if x is equal to 5
if (x = 0) {} // does not compile, because expression is non-boolean
if (x = true) {} // compiles, but the body is always executed
</code>
</pre>
<p>对于嵌套的 <code>if/else</code> 语句,每一个 <code>else</code> 子句属于离它最近的前一个没有 <code>else</code>的<code>if</code> 语句。 </p>
<p>
<b>
<code>switch</code> 语句 </b>
<br>
<code>switch</code> 语句也用于做出决定,它的根据是一个整数表达式。传递给 <code>switch</code> 和 <code>case</code> 语句的参数应该是 <code>int</code>、 <code>short</code>、 <code>char</code> 或者 <code>byte</code>。传递给 <code>case</code> 语句的参数应该是一个常量或者 <code>final</code> 变量。如果没有匹配的 case,那么就执行(可选的) <code>default </code> 语句。 </p>
<p>遇到 <code>break</code> 语句时,控制就跳出 <code>switch</code> 语句。如果没有给出 <code>break</code> 语句,那么就执行所有 <code>case</code> 语句直到遇到 break 或者 <code>switch</code> 语句结束。例如: </p>
<pre>
<code style="font-family: Courier New, Courier, monospace; font-size: 12">
int x = 1;
switch(x)
{
case 1: System.out.println("one");
case 2: System.out.println("two");
}
// both one and two are printed
</code>
</pre>
<p>注意 <code>default</code> 语句的位置。尽管 <code>default</code> 语句通常放在所有 case 选项的最后,但是这不是必须的,如下面的例子所示: </p>
<pre>
<code style="font-family: Courier New, Courier, monospace; font-size: 12">
int i = 1;
switch(i)
{
default:
System.out.println("Default");
break;
case 0:
System.out.println("Zero");
break;
case 1:
System.out.println("One");
break;
}
</code>
</pre>
<p>注意,只有当没有 case 匹配时控制才会到达 <code>default</code> 语句。不过,将 <code>default</code> 语句放到最后是一种好的做法。 </p>
<p>
<b>循环语句 </b>
<br>
Java 循环结构的三种类型是 <code>while</code>、 <code>do-while</code> 和 <code>for</code>。 </p>
<p>
<i>
<b>
<code>while</code> 循环 </b>
</i>
<br>
<code>while</code> 循环的语法是: </p>
<pre>
<code style="font-family: Courier New, Courier, monospace; font-size: 12">
while(boolean expression) {}
</code>
</pre>
<p>
<code>while</code> 循环的主体只有当表达式为 true 时才执行,所以它有可能一次也不执行: </p>
<pre>
<code style="font-family: Courier New, Courier, monospace; font-size: 12">
while(false){} // body never executed
while(1) {} // code will not compile, not a boolean
</code>
</pre>
<p>
<i>
<b>
<code>do-while</code> 循环 </b>
</i>
<br>
<code>do-while</code> 循环的语法是: </p>
<pre>
<code style="font-family: Courier New, Courier, monospace; font-size: 12">
do { } while(boolean expression);
</code>
</pre>
<p>
<code>do-while</code> 循环的主体至少会执行一次,因为在执行完循环主体之后才对测试表达式进行判断。另外,不要忘记 <code>while</code> 表达式后面的分号。 </p>
<p>
<i>
<b>
<code>for</code> 循环 </b>
</i>
<br>
<code>for</code> 循环的语法是: </p>
<pre>
<code style="font-family: Courier New, Courier, monospace; font-size: 12">
for(expr1; expr2; expr3)
{
// body
}
</code>
</pre>
<p>
<code>expr1</code> 用于初始化, <code>expr2</code> 是条件测试, <code>expr3</code> 是迭代表达式。这三个表达式都可以省略,这时语法仍然是合法的: </p>
<pre>
<code style="font-family: Courier New, Courier, monospace; font-size: 12">
for( ; ; ) {} // an endless loop
</code>
</pre>
<p>可以有多个初始化表达式和多个迭代表达式,但是只能有一个测试表达式。 </p>
<p>
<i>
<b>
<code>break</code> 和 <code>continue</code>
</b>
</i>
<br>
<code>break</code> 语句用于从 <code>loop </code>或者 <code>switch</code> 语句中退出,而 <code>continue</code> 语句用于跳出当前迭代并继续下一个。 </p>
<p>对于嵌套的循环, <code>break</code> 语句只退出最里面的循环。如果 <code>break</code> 关键词(有关关键词的更多内容请参阅 <a href="j-scjp-5-3.html">Java 关键词和标识符 </a> ) 与一个标号相结合,那么 <code>break</code> 语句将退出所标记的循环: </p>
<pre>
<code style="font-family: Courier New, Courier, monospace; font-size: 12">
outer: for (int i = 0; i < 10; i++)
{
while(y > 0)
{
break outer;
}
}
// breaks from the for loop if y > 0
</code>
</pre>
<br>
</font></td>
</tr>
</table>
<TABLE border="0" cellpadding="0" cellspacing="0" width="100%">
<TR>
<TD background="../i/sw-gold.gif"><a border="0" href="index.html" onMouseOver="iOver('topmain'); iOver('bottommain'); self.status=mainblurb; return true;" onMouseOut="iOut('topmain'); iOut('bottommain'); self.status=''; return true;"><img alt="主菜单" border="0" src="../i/main.gif" name="bottommain"></a></TD><TD background="../i/sw-gold.gif"><a border="0" onMouseOver="iOver('topsection'); iOver('bottomsection'); self.status=sectionblurb; return true;" onMouseOut="iOut('topsection'); iOut('bottomsection'); self.status=''; return true;" href="index3.html"><img alt="章节菜单" border="0" src="../i/section.gif" name="bottomsection"></a></TD><TD background="../i/sw-gold.gif"><a border="0" onMouseOver="iOver('topfeedback'); iOver('bottomfeedback'); self.status=feedbackblurb; return true;" onMouseOut="iOut('topfeedback'); iOut('bottomfeedback'); self.status=''; return true;" href="j-scjp-11-3.html"><img alt="给出此教程的反馈意见" border="0" src="../i/feedback.gif" name="bottomfeedback"></a></TD><TD width="100%" background="../i/sw-gold.gif"><img src="../i/c.gif"></TD><TD background="../i/sw-gold.gif"><img border="0" src="../i/xprevious.gif"></TD><TD background="../i/sw-gold.gif"><a border="0" onMouseOver="iOver('topnext'); iOver('bottomnext'); self.status=nextblurb; return true;" onMouseOut="iOut('topnext'); iOut('bottomnext'); self.status=''; return true;" href="j-scjp-3-2.html"><img alt="下页" border="0" src="../i/next.gif" name="bottomnext"></a></TD>
</TR>
<TR>
<TD width="150" height="1" bgcolor="#000000" colspan="6"><IMG alt="" height="1" width="150" src="../i/c.gif"></TD>
</TR>
</TABLE>
<TABLE width="100%" cellpadding="0" cellspacing="0" border="0">
<TR>
<TD width="100%">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td><img alt="" height="1" width="1" src="../i/c.gif"></td>
</tr>
<tr valign="top">
<td class="bbg" height="21"> <a class="mainlink" href="/developerWorks/cgi-bin/click.cgi?url=http://www-900.ibm.com/cn/ibm/index.shtml">关于 IBM</a><span class="divider"> | </span><a class="mainlink" href="/developerWorks/cgi-bin/click.cgi?url=http://www-900.ibm.com/cn/ibm/privacy/index.shtml">隐私条约</a><span class="divider"> | </span><a class="mainlink" href="/developerWorks/cgi-bin/click.cgi?url=http://www-900.ibm.com/cn/ibm/legal/index.shtml">法律条款</a><span class="divider"> | </span><a class="mainlink" href="/developerWorks/cgi-bin/click.cgi?url=http://www-900.ibm.com/cn/ibm/contact/index.shtml">联系 IBM</a></td>
</tr>
</table>
</TD>
</TR>
</TABLE>
<script src="//www.ibm.com/common/stats/stats.js" language="JavaScript1.2" type="text/javascript"></script>
<noscript>
<img border="0" alt="" height="1" width="1" src="//stats.www.ibm.com/rc/images/uc.GIF?R=noscript"></noscript>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -