109 lines
6.2 KiB
HTML
109 lines
6.2 KiB
HTML
<?xml version="1.0" encoding="Shift_JIS"?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
|
|
<!-- generated by to_html.pl from while.xml -->
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
|
|
<title>while ステートメント</title>
|
|
<meta name="author" content="W.Dee" />
|
|
<meta http-equiv="Content-Style-Type" content="text/css" />
|
|
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
|
<link href="browser.css" type="text/css" rel="stylesheet" title="吉里吉里関連リファレンス用標準スタイル" />
|
|
<link href="mailto:[email protected]" rev="Made" />
|
|
<link href="index.html" target="_top" rel="Start" title="トップページ" />
|
|
</head>
|
|
<body>
|
|
<h1><a id="id596" name="id596">while ステートメント</a>
|
|
</h1><div class="para"><div>
|
|
<a id="id597" name="id597" class="targanchor"><dfn>while</dfn></a> ステートメントは、指定された条件が真である間、ステートメントまたはブロックを繰り返し実行するものです。ループを作成することができます。<br />
|
|
構文は以下の通りです。<br />
|
|
|
|
<br />
|
|
<code class="bq">while(expression)<br />
|
|
ステートメントまたはブロック<br />
|
|
</code>
|
|
<br />
|
|
|
|
<br />
|
|
「ステートメントまたはブロック」は、条件式である expression が真である限り、繰り返し実行されます。<br />
|
|
<br />
|
|
動作としては、<br />
|
|
(1) まず、expression を評価し、偽であれば、ステートメントまたはブロックは実行されない<br />
|
|
(2) ステートメントまたはブロックを実行する<br />
|
|
(3) expression を評価し、その結果が真ならば (2) へ、そうでなければ while ステートメント終了<br />
|
|
<br />
|
|
つまり、最初から expression が偽の場合はステートメントまたはブロックは実行されません。また、常に expression が評価されるわけではなく、ステートメントまたはブロックを一回実行するごとに expression の真偽がチェックされます。<br />
|
|
また、(3) の時点で、ブロックの場合はいったんブロックから抜けます ( 変数などは消去されると言うこと )。<br />
|
|
|
|
<br />
|
|
<code class="bq"><span class="weak">例:</span><br /> while(func()) ;<br />
|
|
<span class="comment">/* func() が真の間、何もしないで func() を評価し続ける */</span><br />
|
|
<br />
|
|
while(func()) i++;<br />
|
|
<span class="comment">/* func() が真の間、i++ を実行し続ける */</span><br />
|
|
<br />
|
|
while(i < 5) <span class="comment">// i が 5 より小さい間</span><br />
|
|
{<br />
|
|
func(i);<br />
|
|
i++;<br />
|
|
}<br />
|
|
</code>
|
|
<br />
|
|
|
|
</div></div>
|
|
<h1><a id="id598" name="id598">break</a>
|
|
</h1><div class="para"><div>
|
|
break ステートメントは、while を途中で終了させたい場合に記述します。<br />
|
|
|
|
<br />
|
|
<code class="bq"><span class="weak">例:</span><br /> while(true) <span class="comment">// break が実行されない限りは無限ループ</span><br />
|
|
{<br />
|
|
if(func()) break; <span class="comment">// func() が真ならばwhile終了</span><br />
|
|
func2(); <span class="comment">// ↑で break が実行されなければここにくる</span><br />
|
|
}<br />
|
|
<span class="comment">// break が実行されると、ここにくる</span><br />
|
|
</code>
|
|
<br />
|
|
|
|
</div></div>
|
|
<h1><a id="id599" name="id599">continue</a>
|
|
</h1><div class="para"><div>
|
|
continue ステートメントは、途中で、条件式の評価からやり直したいときに記述します。<br />
|
|
continue が実行されると、(3) に実行が移ります。<br />
|
|
|
|
<br />
|
|
<code class="bq"><span class="weak">例:</span><br /> var i = 0;<br />
|
|
while(i < 5)<br />
|
|
{<br />
|
|
if(func1()) continue;<br />
|
|
<span class="comment">// func1() が true ならば、i < 5 の条件式チェックがされ、真ならば</span><br />
|
|
<span class="comment">// またブロックの先頭から実行される</span><br />
|
|
func2();<br />
|
|
i++;<br />
|
|
}<br />
|
|
</code>
|
|
<br />
|
|
|
|
</div></div>
|
|
<h1><a id="id600" name="id600">do~while</a>
|
|
</h1><div class="para"><div>
|
|
do~while ステートメントは、while ステートメントと同じですが、最初に条件式のチェックを行いません。<br />
|
|
構文は以下の通りです。<br />
|
|
|
|
<br />
|
|
<code class="bq">do<br />
|
|
ステートメントまたはブロック<br />
|
|
while(expression);<br />
|
|
</code>
|
|
<br />
|
|
|
|
<br />
|
|
最初に条件式をチェックしないため、do の時点で条件式が偽でも「ステートメントまたはブロック」は実行されます。<br />
|
|
いったん「ステートメントまたはブロック」が実行されれば条件式がチェックされ、偽ならばループを抜け、真ならば再びステートメントまたはブロックが実行され、これを繰り返します。<br />
|
|
</div></div>
|
|
<script type="text/javascript" charset="Shift_JIS" src="documentid.js" ></script>
|
|
<script type="text/javascript" charset="Shift_JIS" src="postcontent.js" ></script>
|
|
</body>
|
|
</html>
|