程序流程控制 (1)
1、if-else 语句
if 语句的三种格式
if 语句第一种格式:(适合一种判断)
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td><p>1</p><p>2</p><p>3</p><p>4</p><p>5</p></td><td><p><code>if</code><code>(关系表达式) {</code></p><p> </p><p><code>语句体;</code></p><p> </p><p><code>}</code></p></td></tr></tbody></table>
首先判断关系表达式看其结果是 true 还是 false:如果是 true 就执行语句体;如果是 false 就不执行语句体。
2、if 语句第二种格式:(适合两种判断)
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td><p>1</p><p>2</p><p>3</p><p>4</p><p>5</p><p>6</p><p>7</p><p>8</p><p>9</p></td><td><p><code>if</code><code>(关系表达式) {</code></p><p> </p><p><code>语句体</code><code>1</code><code>;</code></p><p> </p><p><code>}</code><code>else</code> <code>{</code></p><p> </p><p><code>语句体</code><code>2</code><code>;</code></p><p> </p><p><code>}</code></p></td></tr></tbody></table>
首先判断关系表达式看其结果是 true 还是 false:如果是 true 就执行语句体 1;如果是 false 就执行语句体 2。
三元运算符,它根据比较判断后,给出的也是两个结果,所以,这种情况和 if 语句的第二种格式很相似,他们在某些情况下应该是可以相互转换的。
3、if 语句第三种格式:(适合多种判断)
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td><p>1</p><p>2</p><p>3</p><p>4</p><p>5</p><p>6</p><p>7</p><p>8</p><p>9</p><p>10</p><p>11</p></td><td><p><code>if</code><code>语句第三种格式:</code></p><p><code>if</code><code>(关系表达式</code><code>1</code><code>) {</code></p><p><code> </code><code>语句体</code><code>1</code><code>;</code></p><p><code> </code><code>}</code><code>else</code> <code>if</code> <code>(关系表达式</code><code>2</code><code>) {</code></p><p><code> </code><code>语句体</code><code>2</code><code>;</code></p><p><code> </code><code>}</code></p><p><code> </code><code>...</code></p><p><code> </code><code>...</code></p><p><code> </code><code>else</code> <code>{</code></p><p><code> </code><code>语句体 n+</code><code>1</code><code>;</code></p><p><code> </code><code>}</code></p></td></tr></tbody></table>
需要注意的是,所有的语句体中,只执行一个。
三、选择结构的 switch 语句:
switch 语句格式**:**
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td><p>1</p><p>2</p><p>3</p><p>4</p><p>5</p><p>6</p><p>7</p><p>8</p><p>9</p><p>10</p><p>11</p><p>12</p><p>13</p></td><td><p><code>switch</code><code>(表达式) {</code></p><p><code> </code><code>case</code> <code>值</code><code>1</code><code>:</code></p><p><code> </code><code>语句体</code><code>1</code><code>;</code></p><p><code> </code><code>break</code><code>;</code></p><p><code> </code><code>case</code> <code>值</code><code>2</code><code>:</code></p><p><code> </code><code>语句体</code><code>2</code><code>;</code></p><p><code> </code><code>break</code><code>;</code></p><p><code> </code><code>...</code></p><p><code> </code><code>...</code></p><p
<code> </code><code>default</code><code>: </code></p><p><code> </code><code>语句体 n+</code><code>1</code><code>;</code></p><p><code> </code><code>break</code><code>;</code></p><p><code>} </code></p></td></tr></tbody></table>
switch 表示这是 switch 语句
表达式的取值:byte,short,int,char(JDK5 以后可以是枚举,JDK7 以后可以是 String)(这句话可能出面试题)
case 后面跟的是要和表达式进行比较的值
语句体部分可以是一条或多条语句
break 表示中断,结束的意思,可以结束 switch 语句
default 语句表示所有情况都不匹配的时候,就执行该处的内容,和 if 语句的 else 相似。
(1)case 后面只能是常量,不能是变量,而且,多个 case 后面的值不能出现相同的
(2)default 可以省略吗?
可以省略。一般不建议。除非判断的值是固定的(也就是说所有可能的情况都已经列在 case 中了)
(3)break 可以省略吗?
可以省略,一般不建议。否则结果可能不是你想要的,会出现一个现象:case 穿透。
评论