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

📄 java02_09.htm

📁 JAVA的课件
💻 HTM
📖 第 1 页 / 共 2 页
字号:
     1.return expression&nbsp;<br>    
&nbsp;&nbsp;&nbsp; 返回一个值给调用该方法的语句,返回值的数据类型必须与方法声明中的返回值类型一致。可以使用强制类型转换来使类型一致。&nbsp;<br>   
     2.return&nbsp;<br>   
&nbsp;&nbsp;&nbsp; 当方法说明中用void声明返回类型为空时,应使用这种格式,&nbsp;     
不返回任何值。&nbsp;<br>    
&nbsp;&nbsp;&nbsp; return 语句通常用在一个方法体的最后,以退出该方法并返一个值。Java中,单独的return语句用在一个方法体的中间时,会产生编译错误,因为这时有一些语句执行不到。但可以通过把return语句嵌入某些语句(如if-else)来使程序在未执行完方法中的所有语句时退出,例如:&nbsp;<br>   
    int method (int num) {&nbsp;<br>    
    ∥  return  num;    ∥will cause compile time error&nbsp;<br>    
          if (num>0)&nbsp;<br>    
&nbsp; return  num;&nbsp;<br>    
          …… ∥may or may not be executed&nbsp;<br>    
}   
<br>   
</p>    
<p><b>课堂练习<br>   
&nbsp; </b>给定一个0-100内的分数(假定是整数),按照下列标准评定其等级并输出:0-59为不及格,60-69为及格,70-89为良好,90-100为优秀。   
<br>   
</p>    
<p><b>二、循环语句</b>&nbsp;<br>   
<br>   
     循环语句的作用是反复执行一段代码,直到满足终止循环的条件为止,一个循环一般应包括四部分内容:&nbsp;<br>   
     1.初始化部分(initialization):用来设置循环的一些初始条件。&nbsp;<br>   
     2.循环体部分(body):这是反复循环的一段代码,可以是单一的一条语句,也可以是复合语句。&nbsp;<br>   
     3.迭代部分(iteration):这是在当前循环结束,下一次循环开始执行的语句,常常用来使计数器加1或减1。&nbsp;<br>   
     4.终止部分(termination):通常是一个布尔表达式,每一次循环要对该表达式求值,以验证是否满足循环终止条件。&nbsp;<br>   
<br>   
     Java中提供的循环语句有:while语句,do-while语句和for语句,下面分别介绍。&nbsp;<br>   
<br>   
1.while语句&nbsp;<br>   
     while语句实现"当型"循环,它的一般格式为:&nbsp;    
</p>    
<table border="0" width="72%" height="65">
  <tr>
    <td width="50%" height="59">  
    [initialization]&nbsp;<br>  
&nbsp; while (termination)<br>   
&nbsp; {&nbsp;<br>   
&nbsp;&nbsp;&nbsp; [    
          body;&nbsp;]&nbsp;<br>   
&nbsp;&nbsp;&nbsp; [iteration;]<br>   
&nbsp; }&nbsp;<br>   
    </td> 
    <td width="50%" height="59"><img border="0" src="picture/java02_09_01.gif" width="174" height="194"></td>
  </tr>
</table>
<p>  
(1)当布尔表达式(termination)的值为true时,循环执行大括号中语句。并且初始化部分和<br>  
迭代部分是任选的。&nbsp;<br>  
(2)while语句首先计算终止条件,当条件满足时,才去执行循环体中的语句。这是"当型"循<br>   
环的特点。&nbsp;<br>  
<br>  
2. do-while语句&nbsp;<br>    
    do-while 语句实现"直到型"循环,它的一般格式为:&nbsp;    
</p>    
<table border="0" width="80%">
  <tr>
    <td width="50%">   
    [initialization]&nbsp;<br>   
    do {&nbsp;<br>    
&nbsp;&nbsp; [body;&nbsp;]<br>   
&nbsp;&nbsp; [iteration;]&nbsp;<br>   
    } while (termination);&nbsp;</td> 
    <td width="50%"><img border="0" src="picture/java02_09_02.gif" width="136" height="163"></td>
  </tr>
</table>
<p>   
(1)do-while语句首先执行循环体,然后计算终止条件,若结果为true,则循环执行大括号中的语句,直到布尔表达式的结果为false。&nbsp;<br>  
(2)与while语句不同的是,do-while语句的循环体至少执行一次,&nbsp;是"直到型"循环的特点。&nbsp;<br>  
<br>  
3. for语句&nbsp;<br>    
     for语句也用来实现"当型"循环,它的一般格式为:&nbsp;<br>    
</p>    
<table border="0" width="556">
  <tr>
    <td width="355">   
     for (initialization; termination; iteration)<br>
      {&nbsp;<br>   
      &nbsp;   
&nbsp; [body;&nbsp;]<br>   
     }&nbsp;</td> 
    <td width="187"><img border="0" src="picture/java02_09_03.gif" width="170" height="235"></td>
  </tr>
</table>
<p>  
(1)for语句执行时,首先执行初始化操作,然后判断终止条件否满足,如果满足,则执行循<br>  
环体中的语句,最后执行迭代部分。完成一次循环后,重新判断终止条件。&nbsp;<br>  
(2)可以在for语句的初始化部分声明一个变量,它的作用域为整个for语句。&nbsp;<br>  
(3)for语句通常用来执行循环次数确定的情况(如对数组元素进行操作),也可以根据循环<br>   
结束条件执行循环次数不确定的情况。&nbsp;<br>  
(4)在初始化部分和迭代部分可以使用逗号语句,来进行多个操作。逗号语句是用逗号分隔的语句序列。例如:&nbsp;<br>  
&nbsp; for( i=0, j=10; i<j; i++, j--){&nbsp;<br>    
&nbsp;&nbsp;&nbsp;&nbsp; ……;<br>   
&nbsp; }&nbsp;<br>   
(5)初始化、终止以及迭代部分都可以为空语句(但分号不能省),三者均为空的时候,相当于一个无限循环。&nbsp;<br>   
<br>   
4. continue语句&nbsp;<br>    
(1)continue语句用来结束本次循环,跳过循环体中下面尚未执的语句,接着进行终止条件的判断,以决定是否继续循环。对于for语句,在进行终止条件的判断前,还要先执行迭代语句。它的格式为:&nbsp;<br>   
&nbsp;&nbsp; continue;&nbsp;<br>   
(2)也可以用continue跳转到括号指明的外层循环中,这时的格式为&nbsp;:<br>   
&nbsp; continue outerLable;&nbsp;<br>    
     例如:&nbsp;<br>    
outer:      for( int i=0; i<10; i++ )      ∥外层循环&nbsp;<br>    
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { for( int j=0; j<20; j++ )   ∥内层循环<br>     
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { if( j>i )&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp; ……;<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; continue outer;&nbsp;<br>    
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ……<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ……<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;<br>   
     该例中,当满足j>i的条件时,程序执行完相应的语句后跳转到外层循环,执行外层循环的迭代语句i++;然后开始下一次循环。&nbsp;<br>   
<br>   
     例2.7&nbsp; 下例分别用while、do-while和for语句实现累计求和。&nbsp;<br>   
public class Sum{&nbsp;<br>    
&nbsp; public static void main( String args[] )<br>   
&nbsp; {&nbsp; System.out.println(&quot;\n** while statement **");&nbsp;<br>    
&nbsp;&nbsp;&nbsp;&nbsp; int n=10,sum=0;         ∥initialization&nbsp;<br>    
&nbsp;&nbsp;&nbsp;&nbsp; while( n>0 )           ∥termination&nbsp;<br>    
&nbsp;&nbsp;&nbsp;&nbsp; { sum+=n;           ∥body&nbsp;<br>    
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; n--;        ∥iteration&nbsp;<br>    
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("sum is "+sum);&nbsp;<br>    
&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;\n** do_while statement **");&nbsp;<br>    
&nbsp;&nbsp;&nbsp;&nbsp; n=0;              ∥initialization&nbsp;<br>    
&nbsp;&nbsp;&nbsp;&nbsp; sum=0;&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp; do{&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sum+=n;           ∥body&nbsp;<br>    
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; n++;        ∥iteration&nbsp;<br>    
&nbsp;&nbsp;&nbsp;&nbsp; }while( n<=10 );  ∥termination&nbsp;<br>    
&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("sum is "+sum);&nbsp;<br>    
&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;\n** for statement **");&nbsp;<br>    
&nbsp;&nbsp;&nbsp;&nbsp; sum=0;&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp; for( int i=1; i<=10; i++)∥initialization,termination,iteration&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp; sum+=i;&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("sum is "+sum);&nbsp;<br>    
&nbsp;&nbsp; }&nbsp;<br>   
&nbsp;}&nbsp;<br>   
    运行结果为:&nbsp;<br>   
    C:\>java Sum&nbsp;<br>    
    ** while statement **&nbsp;<br>    
    sum is 55&nbsp;<br>    
    ** do_while statement **&nbsp;<br>    
    sum is 55&nbsp;<br>    
    ** for statement **&nbsp;<br>    
    sum is 55&nbsp;<br>    
    可以从中来比较这三种循环语句,从而在不同的场合选择合适的语句。<br>    
    例4.5 求100~200间的所有素数<br>     
import java.lang.*;<br>  
    public class PrimeNumber{&nbsp;<br>    
&nbsp; public static void main( String args[] )<br>   
&nbsp; {&nbsp;&nbsp; System.out.println(&quot; ** prime numbers between 100 and 200 **");&nbsp;<br>    
&nbsp;&nbsp;&nbsp;&nbsp; int n=0;&nbsp;<br>    
&nbsp;&nbsp;&nbsp;&nbsp; outer:for(int i=101;i<200;i+=2) ∥outer loop&nbsp;<br>    
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { int k=(int)Math.sqrt(i);<br>  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(int j=2;j<=k;j++)&nbsp;   
∥inner loop&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   
{&nbsp;&nbsp;&nbsp; if( i%j==0 )&nbsp;&nbsp; continue outer;&nbsp;<br>    
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   
}&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(i);&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   
}&nbsp;<br>   
&nbsp;&nbsp; }&nbsp;<br>   
<br>   
&nbsp;&nbsp;&nbsp; 该例通过一个嵌套的for语句来实现。但是它的结构化很差,应该要尽量少用带标号的continue和break语句(从理论上来说,它们完全可以不用),稍加改动可以变成这个样子:    
</p>    
<p>import java.lang.*;<br>  
    public class PrimeNumber{&nbsp;<br>    
&nbsp;    
      public static void main( String args[] )<br>   
&nbsp; {&nbsp;&nbsp; System.out.println(&quot; ** prime numbers between 100 and 200 **");&nbsp;<br>    
&nbsp;&nbsp;&nbsp;&nbsp; int n=0;&nbsp;<br>    
&nbsp;&nbsp;&nbsp;&nbsp; for(int i=101;i<200;i+=2) ∥outer loop&nbsp;<br>    
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {    
      int k=(int)Math.sqrt(i);<br>  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(int j=2;j<=k;j++) ∥inner loop&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   
{&nbsp; if( i%j==0 )&nbsp;&nbsp; <b>break;</b>&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; }<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>if (j&gt;k)</b> System.out.println(i);&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;<br>   
&nbsp;&nbsp;    
    }&nbsp;<br>    
</p>     
<p>这一次就要好多了,但不是很好懂(易读性较差),还可以改成这个样子:    
</p>    
<p>import java.lang.*;<br>  
    public class PrimeNumber{&nbsp;<br>    
&nbsp;    
      public static void main( String args[] )<br>   
&nbsp; {&nbsp;&nbsp; System.out.println(&quot; ** prime numbers between 100 and 200 **");&nbsp;<br>    
&nbsp;&nbsp;&nbsp;&nbsp; int n=0;&nbsp;<br>    
&nbsp;&nbsp;&nbsp;&nbsp; for(int i=101;i<200;i+=2) ∥outer loop&nbsp;<br>    
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {    
      int k=(int)Math.sqrt(i);<br>  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; boolean isPrime=true;<br>  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(int j=2;j<=k &amp;&amp;   
isPrime;j++) ∥inner loop&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   
{&nbsp;    
                            if( i%j==0 )&nbsp;&nbsp; <b>isPrime=false;</b>&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; }<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>if (isPrime)</b>    
                     System.out.println(i);&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
          }&nbsp;<br>    
&nbsp;&nbsp;    
    }&nbsp;<br>    
</p>     
<p><b>课堂练习<br>   
</b>1、编程实现从键盘读入一行字符,然后结束。(提示:System.in.read()一次读入一个字符)<br>  
2、输出下列图形<br>  
*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   
*<br>  
**&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   
***<br>  
***&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   
*****<br>  
****&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   
*******    
</p>    
<p><b>三、例外处理语句</b>&nbsp;<br>   
<br>   
     例外处理语句包括try、catch、finally以及throw语句。与C相比,例外处理语句是Java所特有的。我们将在第六章作专门的介绍。    
</p>    
<p><b>四、 注释语句</b><br>   
     Java中可以采用三种注释方式:&nbsp;<br>   
    1.     ∥ 用于单行注释。注释从∥开始,终止于行尾。<br>
    2.     /* …*/ 用于多行注释。注释从/*开始,到*/结束,且这种注释不能互相嵌套。<br>     
    3.     /** …*/ 是Java所特有的doc注释。它以/**开始,到*/结束。这种注释主要是为支持JDK工具javadoc而采用的。javadoc能识别注释中用标记@标识的一些特殊变量,并把doc注释加入它所生成的HTML文件。对javadoc的详细讲述可参见有关书籍。<br>    
<br>    
<font size="3"><a href="index.htm">回目录</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   
<a href="java02_08.htm">上一课</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="java03_01.htm">        
下一课</a></font>     
</p>     
      
</body>      
      
</html>      

⌨️ 快捷键说明

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