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

📄 java5.htm

📁 Java入门教程《Java入门》.rar
💻 HTM
字号:
<html>

<head>
<title>Java入门</title>
<title>石头教学网</title>
<style>
<!--
        A:link {text-decoration: none; color: "blue"}
        A:visited {text-decoration: none; color: "#000000"}
        A:active {text-decoration: none;color:"black"}
        A:hover {text-decoration: underline; color: ff0000}
-->
</style>
<style type="text/css">

<!--
p{font-size:9pt;line-height;13pt;}
td {   font-size: 9pt ; line-height:13pt;

	    }


	A{text-transform: none;

	  text-decoration: none;font-size: 9pt ; line-height:13pt;}
 -->copyright fangame
</style></head>

<body bgcolor="#FFFFFF">

<table border="0" width="100%" cellspacing="0" cellpadding="0">
  <tr>
    <td width="100%">

<h3>第四章 流控制</h3>

<p>与C、C++相同,Java程序通过流控制来执行程序流,完成一定?  
个语句组成的。语句可以是单一的一条语句(如c=a+b;),也可以  
复合语句。</p> 
 
<p>下面我们分别来介绍Java中的流控制语句,包括</p> 
 
<p>1.分支语句:if-else,break,switch,return.</p>

<p>2.循环语句:while,do-while,for,continue.</p>

<p>3.例外处理语句:try-catch-finally,throw</p>

<p>最后我们简单介绍一下注释语句。</p>

<h4>§4.1分支语句</h4>

<p>分支语句提供了一种控制机制,使得程序的执行可以跳过?  
些语句不执行,而转去执 行特定的语句。</p> 
 
<p>4.1.1条件语句if-else.</p> 
 
<p>if-else语句根据判定条件的真假来执行两种操作中的一种, ?的格式为:</p> 
 
<p>if(boolean-expression)</p> 
 
<p>statement1;</p> 
 
<p>[else</p> 
 
<p>statement2;]</p> 
 
<p>1.布尔表达式boolean-expression是任意一个返回布尔型数据的 达式(这比C、C++的限制  
要严格)。</p> 
 
<p>2.每个单一的语句后都必须有分号。</p> 
 
<p>3.语句statement1,statement2可以为复合语句,这时要用大括号{} ?起。建议对单一的语句  
也用大括号括起,这样程序的可读性强,而且有利于程序的扩充(  
可以在其中填加新的语句 )。{}外面不加分号。</p> 
 
<p>4.else子句是任选的。</p> 
 
<p>5.若布尔表达式的值为true,则程序执行statement1,否则执行sta tement2。</p> 
 
<p>6.if-else语句的一种特殊形式为:</p> 
 
<p>if(expression1){</p> 
 
<p>statement1</p> 
 
<p>}else if(expression2){</p> 
 
<p>statement2</p> 
 
<p>}……</p> 
 
<p>}else if(expressionM){</p> 
 
<p>statementM</p> 
 
<p>}else{</p> 
 
<p>statementN</p> 
 
<p>}</p> 
 
<p>else子句不能单独作为语句使用,它必须和if配对使用。else总是与离它最近的if配对  
。可以通过使用大括号{}来改变配对关系。</p> 
 
<p>7.举例:</p> 
 
<p>例4.1比较两个数的大小,并按从小到大的次序输出。</p> 
 
<p>public class CompareTwo{</p>

<p>public static void main(Stringargs[]){</p>

<p>double d1=23.4;</p>

<p>double d2=35.1;</p>

<p>if(d2>=d1)</p>

<p>System.out.println(d2+&quot;>=&quot;+d1);</p>

<p>else</p>

<p>System.out.println(d1+&quot;>=&quot;+d2);</p>

<p>} } 运行结果为:</p> 
 
<p>C:\>java CompareTwo</p> 
 
<p>35.1>=23.4</p> 
 
<p>例4.2判断某一年是否为闰年。</p> 
 
<p>闰年的条件是符合下面二者之一:①能被4整除,但不能被100 整除;②能被4整除,又能被  
100整除。</p> 
 
<p>public class LeapYear{</p>

<p>public static void main(String args[]){</p>

<p>int year=1989;//method1</p>

<p>if((year%4==0&amp;&amp;year%100!=0)||(year%400==0))</p>

<p>System.out.println(year+&quot;isaleapyear.&quot;);</p>

<p>else</p>

<p>System.out.println(year+&quot;isnotaleapyear.&quot;);</p>

<p>year=2000;//method2</p>

<p>boolean leap;</p>

<p>if(year%4!=0)</p>

<p>leap=false;</p>

<p>else if(year%100!=0)</p>

<p>leap=true;</p>

<p>else if(year%400!=0)</p>

<p>leap=false;</p>

<p>else</p>

<p>leap=true;</p>

<p>if(leap==true)</p>

<p>System.out.println(year+&quot;isaleapyear.&quot;);</p>

<p>else</p>

<p>System.out.println(year+&quot;isnotaleapyear.&quot;);</p>

<p>year=2050;//method3</p>

<p>if(year%4==0){</p>

<p>if(year%100==0){</p>

<p>if(year%400==0)</p>

<p>leap=true;</p>

<p>else</p>

<p>leap=false;</p>

<p>}else</p>

<p>leap=false;</p>

<p>}else</p>

<p>leap=false;</p>

<p>if(leap==true)</p>

<p>System.out.println(year+&quot; is a leap year.&quot;);</p>

<p>else</p>

<p>System.out.println(year+&quot; is not a leap year.&quot;);</p>

<p>}</p>

<p>}</p>

<p>运行结果为</p>

<p>C:\>java LeapYear</p> 
 
<p>1989 is not a leap year.</p> 
 
<p>2000 is a leap year.</p> 
 
<p>2050 is not a leap year.</p> 
 
<p>该例中,方法1用一个逻辑表达式包含了所有的闰年条件,方 ?2使用了if-else语句的特殊  
形式,方法3则通过使用大括号{}对if-else进行匹配来实现闰年的 ?断。大家可以根据程序来  
对比这三种方法,体会其中的联系和区别,在不同的场合选用适 ?的方法。</p> 
 
<p>4.1.2多分支语句switch</p> 
 
<p>switch语句根据表达式的值来执行多个操作中的一个,它的  
般格式如下:</p> 
 
<p>switch (expression){</p> 
 
<p>case value1:statement1;</p> 
 
<p>break;</p> 
 
<p>case value2:statement2;</p> 
 
<p>break;</p> 
 
<p>…………</p> 
 
<p>case valueN:statemendN;</p> 
 
<p>break;</p> 
 
<p>[default:defaultStatement;]</p> 
 
<p>}</p> 
 
<p>1.表达式expression可以返回任一简单类型的值(如整型、实? 、字符型),多分支语句把  
表达式返回的值与每个case子句中的值相比。如果匹配成功,则 ?行该case子句后的语句序  
列。</p> 
 
<p>2.case子句中的值valueI必须是常量,而且所有case子句中的值  
是不同的。</p> 
 
<p>3.default子句是任选的。当表达式的值与任一case子句中的?  
都不匹配时,程序执行 default后面的语句。如果表达式的值与任一case子句中的值都不  
?配且没有default子句,则程 序不作任何操作,而是直接跳出switch语句。</p> 
 
<p>4.break语句用来在执行完一个case分支后,使程序跳出switch语 ?,即终止switch语句的执行  
。因为case子句只是起到一个标号的作用,用来查找匹配的入口 ?从此处开始执行,对后面  
的case子句不再进行匹配,而是直接执行其后的语句序列,因此  
该在每个case分支后,要用 break来终止后面的case分支语句的执行。  
在一些特殊情况下,多个不同的case值要执行一组相同的操 ,这时可以不用break。</p> 
 
<p>5.case分支中包括多个执行语句时,可以不用大括号{}括起。</p> 
 
<p>6.switch语句的功能可以用if-else来实现,但在某些情况下,使 switch语句更简炼,可读性强  
,而且程序的执行效率提高。</p> 
 
<p>7.举例:</p> 
 
<p>例4.3.根据考试成绩的等级打印出百分制分数段。</p> 
 
<p>public class GradeLevel{</p>

<p>public static void main(String args[]){</p>

<p>System.out.println(&quot;\n**firstsituation**&quot;);</p>

<p>char grade='C';//normaluse</p>

<p>switch(grade){</p>

<p>case 'A':System.out.println(grade+&quot; is 85~100&quot;);</p> 
 
<p>break; case 'B':System.out.println(grade+&quot; is 70~84&quot;);</p> 
 
<p>break; case 'C':System.out.println(grade+&quot; is 60~69&quot;);</p> 
 
<p>break; case 'D':System.out.println(grade+&quot; is <60&quot;);</p> 
 
<p>break; default:System.out.println(&quot;input error&quot;);</p> 
 
<p>} System.out.println(&quot;\n**secondsituation**&quot;);</p> 
 
<p>grade='A';∥creat error without break statement</p> 
 
<p>switch(grade){</p> 
 
<p>case 'A':System.out.println(grade+&quot;is85~100&quot;);</p>

<p>case 'B':System.out.println(grade+&quot;is70~84&quot;);</p>

<p>case 'C':System.out.println(grade+&quot;is60~69&quot;);</p>

<p>case 'D':System.out.println(grade+&quot;is<60&quot;);</p>

<p>default:System.out.println(&quot;inputerror&quot;);</p>

<p>} System.out.println(&quot;\n**thirdsituation**&quot;);</p>

<p>grade='B';∥severalcasewithsameoperation</p>

<p>switch(grade){</p>

<p>case 'A':</p>

<p>case 'B':</p>

<p>case 'C':System.out.println(grade+&quot;is>=60&quot;);</p>

<p>break; case 'D':System.out.println(grade+&quot;is<60&quot;);</p>

<p>break; default:System.out.println(&quot;inputerror&quot;);</p>

<p>}</p>

<p>}</p>

<p>}</p>

<p>运行结果为</p>

<p>C:\>java GradeLevel</p> 
 
<p>****first situation****</p> 
 
<p>C is 60~69</p> 
 
<p>****second situation****</p> 
 
<p>A is 85~100</p> 
 
<p>A is 70~84</p> 
 
<p>A is 60~69</p> 
 
<p>A is <60</p> 
 
<p>input error</p> 
 
<p>****third situation****</p> 
 
<p>B is >=60</p> 
 
<p>从该例中我们可以看到break语句的作用。</p> 
 
<p>4.1.3break语句</p> 
 
<p>1.在switch语中,break语句用来终止switch语句的执行。使程序 switch语句后的第一个语句  
开始执行。</p> 
 
<p>2.在Java中,可以为每个代码块加一个括号,一个代码块通常 用大括号{}括起来的一段  
代码。加标号的格式如下:</p> 
 
<p>BlockLabel:{codeBlock}</p> 
 
<p>break语句的第二种使用情况就是跳出它所指定的块,并从紧 ?该块的第一条语句处执  
行。其格式为:</p> 
 
<p>break BlockLabel;</p> 
 
<p>例如:</p> 
 
<p>a:{……//标记代码块a</p> 
 
<p>b:{……//标记代码块b</p> 
 
<p>c:{……//标记代码块c</p> 
 
<p>breakb;</p> 
 
<p>……//willnotbeexecuted</p> 
 
<p>}</p> 
 
<p>……//willnotbeexecuted</p> 
 
<p>}</p> 
 
<p>……//willnotbeexecuted</p> 
 
<p>}</p> 
 
<p>……/executefromhere</p> 
 
<p>}</p> 
 
<p>3.与C、C++不同,Java中没有goto语句来实现任意的跳转,因为go to语句破坏程序的可读性  
,而且影响编译的优化。但是从上例可以看出,Java用break来实现g oto语句所特有的一些优点  
。如果break后所指定的标号不是一个代码块的标号,而是一个? 句,则这时break完全实现  
goto的功能。不过应该避免这种方式的使用。</p> 
 
<p><a href="grade2.asp.htm" tppabs="http://www.xm.zz.ha.cn/wsxt/dn/grade2.asp.htm">目录</a>   
  
<ul>  
  <li><a HREF="java1.htm" tppabs="http://www.xm.zz.ha.cn/wsxt/dn/java1.htm">Java入门(一)</a></li>  
  <li><a HREF="java2.htm" tppabs="http://www.xm.zz.ha.cn/wsxt/dn/java2.htm" >Java入门(二)</a></li>  
  <li><a HREF="java3.htm" tppabs="http://www.xm.zz.ha.cn/wsxt/dn/java3.htm">Java入门(三)</a></li>  
  <li><a HREF="java4.htm" tppabs="http://www.xm.zz.ha.cn/wsxt/dn/java4.htm">Java入门(四)</a></li>  
  <li><a HREF="java5.htm" tppabs="http://www.xm.zz.ha.cn/wsxt/dn/java5.htm">Java入门(五)</a></li>  
  <li><a HREF="java6.htm" tppabs="http://www.xm.zz.ha.cn/wsxt/dn/java6.htm">Java入门(六)</a></li>  
  <li><a HREF="java7.htm" tppabs="http://www.xm.zz.ha.cn/wsxt/dn/java7.htm">Java入门(七)</a></li>  
  <li><a HREF="java8.htm" tppabs="http://www.xm.zz.ha.cn/wsxt/dn/java8.htm">Java入门(八)</a></li>  
  <li><a HREF="java9.htm" tppabs="http://www.xm.zz.ha.cn/wsxt/dn/java9.htm">Java入门(九)</a></li>  
</ul>  
    </td> 
  </tr> 
</table> 
</body> 
</html> 

⌨️ 快捷键说明

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