?? 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="章節(jié)菜單" 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>流程控制語句使您可以有條件地執(zhí)行語句,可以重復(fù)執(zhí)行一個語句塊或者改變后面的流程控制。 </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++ 中那樣用數(shù)字值來表示 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> 語句也用于做出決定,它的根據(jù)是一個整數(shù)表達(dá)式。傳遞給 <code>switch</code> 和 <code>case</code> 語句的參數(shù)應(yīng)該是 <code>int</code>、 <code>short</code>、 <code>char</code> 或者 <code>byte</code>。傳遞給 <code>case</code> 語句的參數(shù)應(yīng)該是一個常量或者 <code>final</code> 變量。如果沒有匹配的 case,那么就執(zhí)行(可選的) <code>default </code> 語句。 </p>
<p>遇到 <code>break</code> 語句時,控制就跳出 <code>switch</code> 語句。如果沒有給出 <code>break</code> 語句,那么就執(zhí)行所有 <code>case</code> 語句直到遇到 break 或者 <code>switch</code> 語句結(jié)束。例如: </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>注意,只有當(dāng)沒有 case 匹配時控制才會到達(dá) <code>default</code> 語句。不過,將 <code>default</code> 語句放到最后是一種好的做法。 </p>
<p>
<b>循環(huán)語句 </b>
<br>
Java 循環(huán)結(jié)構(gòu)的三種類型是 <code>while</code>、 <code>do-while</code> 和 <code>for</code>。 </p>
<p>
<i>
<b>
<code>while</code> 循環(huán) </b>
</i>
<br>
<code>while</code> 循環(huán)的語法是: </p>
<pre>
<code style="font-family: Courier New, Courier, monospace; font-size: 12">
while(boolean expression) {}
</code>
</pre>
<p>
<code>while</code> 循環(huán)的主體只有當(dāng)表達(dá)式為 true 時才執(zhí)行,所以它有可能一次也不執(zhí)行: </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> 循環(huán) </b>
</i>
<br>
<code>do-while</code> 循環(huán)的語法是: </p>
<pre>
<code style="font-family: Courier New, Courier, monospace; font-size: 12">
do { } while(boolean expression);
</code>
</pre>
<p>
<code>do-while</code> 循環(huán)的主體至少會執(zhí)行一次,因為在執(zhí)行完循環(huán)主體之后才對測試表達(dá)式進(jìn)行判斷。另外,不要忘記 <code>while</code> 表達(dá)式后面的分號。 </p>
<p>
<i>
<b>
<code>for</code> 循環(huán) </b>
</i>
<br>
<code>for</code> 循環(huán)的語法是: </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> 是迭代表達(dá)式。這三個表達(dá)式都可以省略,這時語法仍然是合法的: </p>
<pre>
<code style="font-family: Courier New, Courier, monospace; font-size: 12">
for( ; ; ) {} // an endless loop
</code>
</pre>
<p>可以有多個初始化表達(dá)式和多個迭代表達(dá)式,但是只能有一個測試表達(dá)式。 </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> 語句用于跳出當(dāng)前迭代并繼續(xù)下一個。 </p>
<p>對于嵌套的循環(huán), <code>break</code> 語句只退出最里面的循環(huán)。如果 <code>break</code> 關(guān)鍵詞(有關(guān)關(guān)鍵詞的更多內(nèi)容請參閱 <a href="j-scjp-5-3.html">Java 關(guān)鍵詞和標(biāo)識符 </a> ) 與一個標(biāo)號相結(jié)合,那么 <code>break</code> 語句將退出所標(biāo)記的循環(huán): </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="章節(jié)菜單" 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">關(guān)于 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">聯(lián)系 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>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -