<?xml version="1.0"?>
<section id="statements">
	<h>Statements</h>
	<section id="selection">
		<h>Selection statements</h>
		<p>The if statement selects a statement for execution based on the value of a boolean expression.</p>
		<blockquote>
if-statement:
	<l>if (</l> boolean-expression <l>)</l> embedded-statement
	<l>if (</l> boolean-expression <l>)</l> embedded-statement <l>else</l> embedded-statement
		</blockquote>
	</section>
	<section id="iteration">
		<h>Iteration statements</h>
		<p>The while statement conditionally executes an embedded statement zero or more times.</p>
		<blockquote>
while-statement:
	<l>while (</l> boolean-expression <l>)</l> embedded-statement
		</blockquote>
		<p>The do statement conditionally executes an embedded statement one or more times.</p>
		<blockquote>
do-statement:
	<l>do</l> embedded-statement <l>while (</l> boolean-expression <l>) ;</l>
		</blockquote>
		<p>The for statement evaluates a sequence of initialization expressions and then, while a condition is true, repeatedly executes an embedded statement and evaluates a sequence of iteration expressions.</p>
		<blockquote>
for-statement:
	<l>for (</l> [for-initializer] <l>;</l> [for-condition] <l>;</l> [for-iterator] <l>)</l> embedded-statement

for-initializer:
	local-variable-declaration
	statement-expression-list

for-condition:
	boolean-expression

for-iterator:
	statement-expression-list

statement-expression-list:
	statement-expression
	statement-expression-list <l>,</l> statement-expression
		</blockquote>
		<p>Within the embedded statement of a for statement, a break statement can be used to transfer control to the end point of the for statement (thus ending iteration of the embedded statement), and a continue statement can be used to transfer control to the end point of the embedded statement (thus executing another iteration of the for statement).</p>
		<p>The foreach statement enumerates the elements of a collection, executing an embedded statement for each element of the collection.</p>
		<blockquote>
foreach-statement:
	<l>foreach (</l> type identifier <l>in</l> expression <l>)</l> embedded-statement
		</blockquote>
	</section>
	<section id="jump">
		<h>Jump statements</h>
		<p>The break statement exits the nearest enclosing switch, while, do, for, or foreach statement.</p>
		<blockquote>
break-statement:
	<l>break ;</l>
		</blockquote>
		<p>The continue statement starts a new iterataion of the nearest enclosing while, do, for, or foreach statement.</p>
		<blockquote>
continue-statement:
	<l>continue ;</l>
		</blockquote>
		<p>When multiple while, do, for, or foreach statements are nested within each other, a continue statement applies only to the innermost statement. If a continue statement is not eclosed by a while, do, for, or foreach statement, a compile-time error occurs.</p>
		<p>The return statement returns control to the caller of the function member in which the return statement appears.</p>
		<blockquote>
return-statement:
	<l>return</l> [expression] <l>;</l>
		</blockquote>
		<p>The throw statement throws an exception.</p>
		<blockquote>
throw-statement:
	<l>throw</l> expression <l>;</l>
		</blockquote>
	</section>
	<section id="try">
		<h>Try statement</h>
		<p>The try statement provides a mechanism for catching exceptions that occur during execution of a block. Furthermore, the try statement provides the ability to specify a block of code that is always executed when control leaves the try statement.</p>
		<blockquote>
try-statement:
	<l>try</l> block catch-clauses
	<l>try</l> block [catch-clauses] finally-clause

catch-clauses:
	specific-catch-clause
	[specific-catch-clauses] general-catch-clause

specific-catch-clause:
	specific-catch-clause
	specific-catch-clauses specific-catch-clause

specific-catch-clause:
	<l>catch (</l> error-type identifier <l>)</l> block

general-catch-clause:
	<l>catch</l> block

finally-clause:
	<l>finally</l> block
		</blockquote>
	</section>
</section>

