官术网_书友最值得收藏!

第3章 流程控制

一個計算機程序是由一系列的語句組成的,構成程序的所有語句對應著一個實際問題的一個計算機求解步驟和方法。在計算機程序設計技術中,稱解決問題的詳細步驟為算法。算法包括解決問題過程中需要執行的操作,以及執行這些操作的順序。一種計算機語言的程序即用該語言的語句來描述算法。

Java語言雖然是一種面向對象的計算機語言,但在一個局部,例如,方法內、復合語句塊內等仍然需要面向過程的一些程序設計思想和方法。結構化程序設計方法是常用的一種面向過程程序設計的原則。采用結構程序設計的方法使得編程人員在進行程序設計時,為了提高程序質量而不能隨心所欲地編程,要遵從一些原則。結構化程序設計的基本原則是:盡管現實世界的問題是復雜的、千變萬化的,但對應的任意復雜的計算機算法流程,只有三種基本結構:順序結構、選擇結構、循環結構。每種結構是單入口、單出口的。Java語言提供支持結構化程序設計的所有語句。

一般情況下程序運行時,按程序語句書寫次序從前往后一條一條地執行語句,正如在前一章中見到的幾個程序。流程控制語句可用來改變這個次序,從而控制程序的流程,實現一些復雜的算法。

學習編寫計算機程序時,應勤于思考,多動手實驗。首先,必須透徹理解所要解決的問題,研究解決問題的方法和步驟。然后,按照結構化程序設計思想和確定的算法,自頂向下、逐步求精地進行程序設計。學習中,要不斷積累程序設計經驗和教訓,融會貫通各種程序設計的技術和方法。

本章介紹Java的流程控制語句:分支語句和循環語句,以及與流程有關的異常和方法(函數)的使用等。

3.1 語句和塊

3.1.1 語句

在Java語言中,有下面幾類語句:空語句、標識語句、聲明語句、表達式語句、分支語句、循環語句、跳轉語句、同步語句、異常語句等。有兩種基本的語句:表達式語句和聲明語句。

1.表達式語句

表達式語句是由表達式加分號構成的語句。例如:

              i++;
              System.out.println("Hello! ");

在Java語言中語句用分號終止。但并不是所有的表達式都可以構成語句,例如表達式a<=b,加分號構成的語句無意義。下面幾種類型的表達式可以通過添加分號構成表達式語句:

(1)賦值表達式,包含賦值運算符“=”或復合賦值運算符之一。

(2)++或--前后綴形式。

(3)方法調用(無論它是否有返回值)。

(4)對象創建表達式,用new來創建一個對象的表達式。

2.聲明語句

聲明語句聲明一個變量,并可為其賦初值。聲明語句可以出現在任意塊內。定義在方法內或塊內的局部變量在使用前必須賦初值,或在聲明時進行初始化,或在聲明后賦值。

3.1.2 塊

用一對花括號“{}”將零個或多個語句括起來,就構成一個塊(也稱復合語句)。在塊中允許包含另一個塊(塊嵌套)。在Java語言中,允許一個塊出現在任何單一語句可以出現的地方。回顧前面的內容,可以知道,類體和方法體都是塊。

塊體現了Java面向對象程序設計的封裝概念,在一個塊中聲明的局部變量的作用域是該變量的聲明開始點到最小的包含其聲明的塊結束。

【例3.1】塊的使用。

              class UseBlock{
                public static void main(String args[]){
                  int a = 5;
                  a += 8;
                  {               // 開始一個塊
                    int b = 6;    // 變量b只能在這個塊中使用
                    b = b + a;
                    System.out.println(a + " " + b);
                  }
                }
              }

程序運行結果如下:

              13 19

在這個程序中,main方法體是一個塊,變量a在第3行被聲明,在整個程序中都有效;變量b在一個內嵌的塊中聲明,它只在聲明它的塊中有效。塊嵌套時,外層聲明的變量在內存仍然有效,但內存不能再聲明與外層變量同名的變量。

主站蜘蛛池模板: 铅山县| 杭州市| 清徐县| 耿马| 民权县| 遂宁市| 东海县| 海原县| 双柏县| 松潘县| 邵东县| 通许县| 建德市| 仲巴县| 江阴市| 巨野县| 洱源县| 淳安县| 建瓯市| 桂平市| 阿拉善盟| 隆昌县| 宁城县| 老河口市| 莲花县| 民丰县| 惠来县| 巢湖市| 江山市| 光泽县| 西平县| 咸丰县| 灌云县| 安顺市| 江西省| 宁津县| 吕梁市| 英吉沙县| 河南省| 沁源县| 贵溪市|