- Java語言程序設計
- 陸遲編著
- 702字
- 2019-01-09 14:01:52
第3章 流程控制
一個計算機程序是由一系列的語句組成的,構(gòu)成程序的所有語句對應著一個實際問題的一個計算機求解步驟和方法。在計算機程序設計技術(shù)中,稱解決問題的詳細步驟為算法。算法包括解決問題過程中需要執(zhí)行的操作,以及執(zhí)行這些操作的順序。一種計算機語言的程序即用該語言的語句來描述算法。
Java語言雖然是一種面向?qū)ο蟮挠嬎銠C語言,但在一個局部,例如,方法內(nèi)、復合語句塊內(nèi)等仍然需要面向過程的一些程序設計思想和方法。結(jié)構(gòu)化程序設計方法是常用的一種面向過程程序設計的原則。采用結(jié)構(gòu)程序設計的方法使得編程人員在進行程序設計時,為了提高程序質(zhì)量而不能隨心所欲地編程,要遵從一些原則。結(jié)構(gòu)化程序設計的基本原則是:盡管現(xiàn)實世界的問題是復雜的、千變?nèi)f化的,但對應的任意復雜的計算機算法流程,只有三種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。每種結(jié)構(gòu)是單入口、單出口的。Java語言提供支持結(jié)構(gòu)化程序設計的所有語句。
一般情況下程序運行時,按程序語句書寫次序從前往后一條一條地執(zhí)行語句,正如在前一章中見到的幾個程序。流程控制語句可用來改變這個次序,從而控制程序的流程,實現(xiàn)一些復雜的算法。
學習編寫計算機程序時,應勤于思考,多動手實驗。首先,必須透徹理解所要解決的問題,研究解決問題的方法和步驟。然后,按照結(jié)構(gòu)化程序設計思想和確定的算法,自頂向下、逐步求精地進行程序設計。學習中,要不斷積累程序設計經(jīng)驗和教訓,融會貫通各種程序設計的技術(shù)和方法。
本章介紹Java的流程控制語句:分支語句和循環(huán)語句,以及與流程有關(guān)的異常和方法(函數(shù))的使用等。
3.1 語句和塊
3.1.1 語句
在Java語言中,有下面幾類語句:空語句、標識語句、聲明語句、表達式語句、分支語句、循環(huán)語句、跳轉(zhuǎn)語句、同步語句、異常語句等。有兩種基本的語句:表達式語句和聲明語句。
1.表達式語句
表達式語句是由表達式加分號構(gòu)成的語句。例如:
i++; System.out.println("Hello! ");
在Java語言中語句用分號終止。但并不是所有的表達式都可以構(gòu)成語句,例如表達式a<=b,加分號構(gòu)成的語句無意義。下面幾種類型的表達式可以通過添加分號構(gòu)成表達式語句:
(1)賦值表達式,包含賦值運算符“=”或復合賦值運算符之一。
(2)++或--前后綴形式。
(3)方法調(diào)用(無論它是否有返回值)。
(4)對象創(chuàng)建表達式,用new來創(chuàng)建一個對象的表達式。
2.聲明語句
聲明語句聲明一個變量,并可為其賦初值。聲明語句可以出現(xiàn)在任意塊內(nèi)。定義在方法內(nèi)或塊內(nèi)的局部變量在使用前必須賦初值,或在聲明時進行初始化,或在聲明后賦值。
3.1.2 塊
用一對花括號“{}”將零個或多個語句括起來,就構(gòu)成一個塊(也稱復合語句)。在塊中允許包含另一個塊(塊嵌套)。在Java語言中,允許一個塊出現(xiàn)在任何單一語句可以出現(xiàn)的地方。回顧前面的內(nèi)容,可以知道,類體和方法體都是塊。
塊體現(xiàn)了Java面向?qū)ο蟪绦蛟O計的封裝概念,在一個塊中聲明的局部變量的作用域是該變量的聲明開始點到最小的包含其聲明的塊結(jié)束。
【例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); } } }
程序運行結(jié)果如下:
13 19
在這個程序中,main方法體是一個塊,變量a在第3行被聲明,在整個程序中都有效;變量b在一個內(nèi)嵌的塊中聲明,它只在聲明它的塊中有效。塊嵌套時,外層聲明的變量在內(nèi)存仍然有效,但內(nèi)存不能再聲明與外層變量同名的變量。
- Django開發(fā)從入門到實踐
- 數(shù)據(jù)結(jié)構(gòu)簡明教程(第2版)微課版
- JavaScript by Example
- QGIS:Becoming a GIS Power User
- bbPress Complete
- Go并發(fā)編程實戰(zhàn)
- ANSYS Fluent 二次開發(fā)指南
- 數(shù)據(jù)結(jié)構(gòu)案例教程(C/C++版)
- Getting Started with Laravel 4
- Kotlin開發(fā)教程(全2冊)
- Microsoft 365 Certified Fundamentals MS-900 Exam Guide
- CRYENGINE Game Development Blueprints
- WebStorm Essentials
- AutoCAD基礎教程
- WCF技術(shù)剖析(卷1)