⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 第四章 流控制.htm

📁 JAVA基础教程,对JAVA学习着很有用
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0045)http://www.sdjtu.edu.cn/xdjyzx/tech/java7.htm -->
<HTML><HEAD><TITLE>基础教程</TITLE>
<META http-equiv=Content-Language content=zh-cn>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="web designer" name=keywords>
<META content=阿捷,ajie@tspace.net name=Author><LINK href="第四章 流控制.files/css.css" 
type=text/css rel=stylesheet>
<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
<BODY background=第四章 流控制.files/bg1.jpg>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
  <TBODY>
  <TR>
    <TD width="13%"></TD>
    <TD vAlign=bottom width="66%">
      <P align=right><A 
      href="http://www.sdjtu.edu.cn/xdjyzx/tech/java.htm">返回索引</A> </P></TD>
    <TD width="21%">
      <P align=center><FONT face="Arial Black" color=#008000 size=5>JAVA</FONT> 
      </P></TD></TR></TBODY></TABLE>
<HR width="80%" color=#88b838 SIZE=1>

<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
  <TBODY>
  <TR>
    <TD width="13%"></TD>
    <TD width="77%" bgColor=#ffffff>
      <P align=center><B>第四章 流控制</B></P>
      <P>与<FONT face=Arial>C</FONT>、<FONT face=Arial>C++</FONT>相同,<FONT 
      face=Arial>Java</FONT>程序通过流控制来执行程序流,完成语句组成的。语句可以是单一的一条语句<FONT 
      face=Arial>(</FONT>如<FONT 
      face=Arial>c=a+b;)</FONT>,也可以是复合语句。<BR><BR>下面我们分别来介绍<FONT 
      face=Arial>Java</FONT>中的流控制语句,包括:<BR><BR><FONT 
      face=Arial>1.</FONT>分支语句:<FONT face=Arial>if-else</FONT>,<FONT 
      face=Arial>break</FONT>,<FONT face=Arial>switch</FONT>,<FONT 
      face=Arial>return.<BR><BR>2.</FONT>循环语句:<FONT 
      face=Arial>while</FONT>,<FONT face=Arial>do-while</FONT>,<FONT 
      face=Arial>for</FONT>,<FONT 
      face=Arial>continue.<BR><BR>3.</FONT>例外处理语句:<FONT 
      face=Arial>try-catch-finally</FONT>,<FONT 
      face=Arial>throw<BR><BR></FONT>最后我们简单介绍一下注释语句。<BR><BR><FONT face=Arial 
      color=#008000>§4.1</FONT><FONT 
      color=#008000>分支语句</FONT><BR><BR>分支语句提供了一种控制机制,使得程序的执行可以跳过这些语句不执行,而转去执行特定的语句。<BR><BR><FONT 
      face=Arial color=#008000>4.1.1</FONT><FONT color=#008000>条件语句</FONT><FONT 
      face=Arial><FONT 
      color=#008000>if-else.</FONT><BR><BR>if-else</FONT>语句根据判定条件的真假来执行两种操作中的一种,格式为:<BR><BR><FONT 
      face=Arial>if(boolean-expression)<BR>statement1;<BR>[else<BR>statement2;]<BR><BR>1.</FONT>布尔表达式<FONT 
      face=Arial>boolean-expression</FONT>是任意一个返回布尔型数据的达式<FONT 
      face=Arial>(</FONT>这比<FONT face=Arial>C</FONT>、<FONT 
      face=Arial>C++</FONT>的限制要严格<FONT face=Arial>)</FONT>。<BR><BR><FONT 
      face=Arial>2.</FONT>每个单一的语句后都必须有分号。<BR><BR><FONT 
      face=Arial>3.</FONT>语句<FONT face=Arial>statement1</FONT>,<FONT 
      face=Arial>statement2</FONT>可以为复合语句,这时要用大括号<FONT 
      face=Arial>{}</FONT>括起。建议对单一的语句也用大括号括起,这样程序的可读性强,而且有利于程序的扩充<FONT 
      face=Arial>(</FONT>可以在其中填加新的语句<FONT face=Arial>)</FONT>。<FONT 
      face=Arial>{}</FONT>外面不加分号。<BR><BR><FONT 
      face=Arial>4.else</FONT>子句是任选的。<BR><BR><FONT 
      face=Arial>5.</FONT>若布尔表达式的值为<FONT face=Arial>true</FONT>,则程序执行<FONT 
      face=Arial>statement1</FONT>,否则执行<FONT 
      face=Arial>statement2</FONT>。<BR><BR><FONT 
      face=Arial>6.if-else</FONT>语句的一种特殊形式为:<BR><BR><FONT 
      face=Arial>if(expression1){<BR>statement1<BR>}else 
      if(expression2){<BR>statement2<BR>}......<BR>}else 
      if(expressionM){<BR>statementM<BR>}else{<BR>statementN<BR>}<BR><BR>else</FONT>子句不能单独作为语句使用,它必须和<FONT 
      face=Arial>if</FONT>配对使用。<FONT face=Arial>else</FONT>总是与离它最近的<FONT 
      face=Arial>if</FONT>配对。可以通过使用大括号<FONT 
      face=Arial>{}</FONT>来改变配对关系。<BR><BR><FONT 
      face=Arial>7.</FONT>举例:<BR><BR>例<FONT 
      face=Arial>4.1</FONT>比较两个数的大小,并按从小到大的次序输出。<BR><BR><FONT face=Arial>public 
      class CompareTwo{<BR>public static void main(Stringargs[]){<BR>double 
      d1=23.4;<BR>double d2=35.1;<BR>if(d2</FONT>><FONT 
      face=Arial>=d1)<BR>System.out.println(d2+"</FONT>><FONT 
      face=Arial>="+d1);<BR>else<BR>System.out.println(d1+"</FONT>><FONT 
      face=Arial>="+d2);<BR>} }<BR><BR></FONT>运行结果为:<BR><BR><FONT 
      face=Arial>C:\</FONT>><FONT face=Arial>java 
      CompareTwo<BR>35.1</FONT>><FONT face=Arial>=23.4<BR><BR></FONT>例<FONT 
      face=Arial>4.2</FONT>判断某一年是否为闰年。<BR><BR>闰年的条件是符合下面二者之一:<FONT 
      face=Arial>①</FONT>能被<FONT face=Arial>4</FONT>整除,但不能被<FONT 
      face=Arial>100</FONT>整除<FONT face=Arial>;②</FONT>能被<FONT 
      face=Arial>4</FONT>整除,又能被<FONT face=Arial>100</FONT>整除。<BR><BR><FONT 
      face=Arial>public class LeapYear{<BR>public static void main(String 
      args[]){<BR>int 
      year=1989;//method1<BR>if((year%4==0&amp;&amp;year%100!=0)||(year%400==0))<BR>System.out.println(year+"isaleapyear.");<BR>else<BR>System.out.println(year+"isnotaleapyear.");<BR>year=2000;//method2<BR>boolean 
      leap;<BR>if(year%4!=0)<BR>leap=false;<BR>else 
      if(year%100!=0)<BR>leap=true;<BR>else 
      if(year%400!=0)<BR>leap=false;<BR>else<BR>leap=true;<BR>if(leap==true)<BR>System.out.println(year+"isaleapyear.");<BR>else<BR>System.out.println(year+"isnotaleapyear.");<BR>year=2050;//method3<BR>if(year%4==0){<BR>if(year%100==0){<BR>if(year%400==0)<BR>leap=true;<BR>else<BR>leap=false;<BR>}else<BR>leap=false;<BR>}else<BR>leap=false;<BR>if(leap==true)<BR>System.out.println(year+" 
      is a leap year.");<BR>else<BR>System.out.println(year+" is not a leap 
      year.");<BR>}<BR>}<BR><BR></FONT>运行结果为<BR><BR><FONT 
      face=Arial>C:\</FONT>><FONT face=Arial>java LeapYear<BR><BR>1989 is not a 
      leap year.<BR>2000 is a leap year.<BR>2050 is not a leap 
      year.<BR><BR></FONT>该例中,方法<FONT 
      face=Arial>1</FONT>用一个逻辑表达式包含了所有的闰年条件,方法<FONT face=Arial>2</FONT>使用了<FONT 
      face=Arial>if-else</FONT>语句的特殊形式,方法<FONT face=Arial>3</FONT>则通过使用大括号<FONT 
      face=Arial>{}</FONT>对<FONT 
      face=Arial>if-else</FONT>进行匹配来实现闰年的判断。大家可以根据程序来对比这三种方法,体会其中的联系和区别,在不同的场合选用适当的方法。<BR><BR><FONT 
      face=Arial color=#008000>4.1.2</FONT><FONT color=#008000>多分支语句</FONT><FONT 
      face=Arial><FONT 
      color=#008000>switch</FONT><BR><BR>switch</FONT>语句根据表达式的值来执行多个操作中的一个,它的般格式如下:<BR><BR><FONT 
      face=Arial>switch (expression){<BR>case 
      value1:statement1;<BR>break;<BR>case 
      value2:statement2;<BR>break;<BR>…………<BR>case 
      valueN:statemendN;<BR>break;<BR>[default:defaultStatement;]<BR>}<BR><BR>1.</FONT>表达式<FONT 
      face=Arial>expression</FONT>可以返回任一简单类型的值<FONT 
      face=Arial>(</FONT>如整型、实型、字符型<FONT 
      face=Arial>)</FONT>,多分支语句把表达式返回的值与每个<FONT 
      face=Arial>case</FONT>子句中的值相比。如果匹配成功,则执行该<FONT 
      face=Arial>case</FONT>子句后的语句序列。<BR><BR><FONT 
      face=Arial>2.case</FONT>子句中的值<FONT face=Arial>valueI</FONT>必须是常量,而且所有<FONT 
      face=Arial>case</FONT>子句中的值是不同的。<BR><BR><FONT 
      face=Arial>3.default</FONT>子句是任选的。当表达式的值与任一<FONT 
      face=Arial>case</FONT>子句中的<FONT face=Arial>?</FONT>都不匹配时,程序执行<FONT 
      face=Arial>default</FONT>后面的语句。如果表达式的值与任一<FONT 
      face=Arial>case</FONT>子句中的值都不<FONT face=Arial>?</FONT>配且没有<FONT 
      face=Arial>default</FONT>子句,则程序不作任何操作,而是直接跳出<FONT 
      face=Arial>switch</FONT>语句。<BR><BR><FONT 
      face=Arial>4.break</FONT>语句用来在执行完一个<FONT 
      face=Arial>case</FONT>分支后,使程序跳出<FONT face=Arial>switch</FONT>语句,即终止<FONT 
      face=Arial>switch</FONT>语句的执行。因为<FONT 
      face=Arial>case</FONT>子句只是起到一个标号的作用,用来查找匹配的入口并从此处开始执行,对后面的<FONT 
      face=Arial>case</FONT>子句不再进行匹配,而是直接执行其后的语句序列,因此该在每个<FONT 
      face=Arial>case</FONT>分支后,要用<FONT face=Arial>break</FONT>来终止后面的<FONT 
      face=Arial>case</FONT>分支语句的执行。在一些特殊情况下,多个不同的<FONT 
      face=Arial>case</FONT>值要执行一组相同的操,这时可以不用<FONT 
      face=Arial>break</FONT>。<BR><BR><FONT 
      face=Arial>5.case</FONT>分支中包括多个执行语句时,可以不用大括号<FONT 
      face=Arial>{}</FONT>括起。<BR><BR><FONT 
      face=Arial>6.switch</FONT>语句的功能可以用<FONT 
      face=Arial>if-else</FONT>来实现,但在某些情况下,使<FONT 
      face=Arial>switch</FONT>语句更简炼,可读性强,而且程序的执行效率提高。<BR><BR><FONT 
      face=Arial>7.</FONT>举例:<BR><BR>例<FONT 
      face=Arial>4.3.</FONT>根据考试成绩的等级打印出百分制分数段。<BR><BR><FONT face=Arial>public 
      class GradeLevel{<BR>public static void main(String 
      args[]){<BR>System.out.println("\n**firstsituation**");<BR>char 
      grade='C';//normaluse<BR>switch(grade){<BR>case 
      'A':System.out.println(grade+" is 85</FONT>~<FONT 
      face=Arial>100");<BR>break; case 'B':System.out.println(grade+" is 
      70</FONT>~<FONT face=Arial>84");<BR>break; case 
      'C':System.out.println(grade+" is 60</FONT>~<FONT 
      face=Arial>69");<BR>break; case 'D':System.out.println(grade+" is 
      </FONT><<FONT face=Arial>60");<BR>break; default:System.out.println("input 
      error");<BR>} 
      System.out.println("\n**secondsituation**");<BR>grade='A';∥creat error 
      without break statement<BR>switch(grade){<BR>case 
      'A':System.out.println(grade+"is85</FONT>~<FONT face=Arial>100");<BR>case 
      'B':System.out.println(grade+"is70</FONT>~<FONT face=Arial>84");<BR>case 
      'C':System.out.println(grade+"is60</FONT>~<FONT face=Arial>69");<BR>case 
      'D':System.out.println(grade+"is</FONT><<FONT 
      face=Arial>60");<BR>default:System.out.println("inputerror");<BR>} 
      System.out.println("\n**thirdsituation**");<BR>grade='B';∥severalcasewithsameoperation<BR>switch(grade){<BR>case 
      'A':<BR>case 'B':<BR>case 'C':System.out.println(grade+"is</FONT>><FONT 
      face=Arial>=60");<BR>break; case 
      'D':System.out.println(grade+"is</FONT><<FONT face=Arial>60");<BR>break; 
      default:System.out.println("inputerror");<BR>}<BR>}<BR>}<BR><BR></FONT>运行结果为<BR><BR><FONT 
      face=Arial>C:\</FONT>><FONT face=Arial>java GradeLevel<BR><BR>****first 
      situation****<BR>C is 60</FONT>~<FONT face=Arial>69<BR>****second 
      situation****<BR>A is 85</FONT>~<FONT face=Arial>100<BR>A is 
      70</FONT>~<FONT face=Arial>84<BR>A is 60</FONT>~<FONT face=Arial>69<BR>A 
      is </FONT><<FONT face=Arial>60<BR>input error<BR>****third 
      situation****<BR>B is </FONT>><FONT 
      face=Arial>=60<BR><BR></FONT>从该例中我们可以看到<FONT 
      face=Arial>break</FONT>语句的作用。</P>
      <P>(未完,请继续) </P></TD>
    <TD width="10%"></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
  <TBODY>
  <TR>
    <TD width="13%"></TD>
    <TD width="77%">
      <P align=center></P></TD>
    <TD width="10%"></TD></TR></TBODY></TABLE>
<HR width="80%" color=#88b838 SIZE=1>

<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
  <TBODY>
  <TR>
    <TD width="100%">
      <P align=center><A 
      href="http://www.sdjtu.edu.cn/xdjyzx/tech/java6.htm">上一页</A> <A 
      href="http://www.sdjtu.edu.cn/xdjyzx/tech/java8.htm">下一页</A> <A 
      href="http://www.sdjtu.edu.cn/xdjyzx/tech/java7.htm#top"><FONT 
      face=Arial>GO TOP</FONT></A>&nbsp;</P></TD></TR>
  <TR>
    <TD width="100%">
      <SCRIPT src="第四章 流控制.files/nease.js"></SCRIPT>
    </TD></TR>
  <TR>
    <TD width="100%">
      <P align=center><FONT face=Arial>Copyright &copy; 1999 designed by <A 
      href="http://page.tspace.net/">web designer</A></FONT><A 
      onmouseover="window.status='返回网页设计师首页';return true" 
      href="http://www.sdjtu.edu.cn/xdjyzx/index1.htm"><FONT 
      style="FONT-SIZE: 9pt"><IMG height=20 src="第四章 流控制.files/home.gif" 
      width=20 border=0></FONT></A></P></TD></TR></TBODY></TABLE></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -