- 名師講壇:Spring實戰開發(Redis+SpringDataJPA+SpringMVC+SpringSecurity)
- 李興華
- 973字
- 2020-04-24 14:20:49
5.4 基本表達式
基本表達式描述的是簡單的程序邏輯。例如,定義了一個數字1,則字面表達式解析后的內容就是1。同樣,也可以通過表達式實現關系運算、邏輯運算以及三目運算處理。
5.4.1 字面表達式
字面表達式指的是直接在字符串中定義字符串或基本數據類型(數字、布爾、字符),通過字面表達式可以直接看到數據本身的內容。如表5-1所示為常見字面表達式的使用。
表5-1 字面表達式

范例:【mldnspring-base模塊】處理科學計數法。

本程序采用了科學計數法實現了表達式的定義,隨后為了方便顯示內容,使用了printf格式化顯示。
5.4.2 數學表達式
數學表達式描述的是基本的加、減、乘、除等計算處理,如表5-2所示。
表5-2 數學表達式

5.4.3 關系表達式
在定義關系表達式時,除了可以判斷大小與相等關系外,還可以實現范圍的判斷,如表5-3所示。
表5-3 關系表達式

5.4.4 邏輯表達式
邏輯判斷主要有3個處理邏輯:與、或、非。利用邏輯表達式可以連接多個關系表達式,如表5-4所示給出了一些常見邏輯表達式的使用。
表5-4 邏輯表達式

在表5-4中,由于非操作是在整體邏輯計算之后進行處理的,所以使用“( )”改變了計算的優先級。
5.4.5 三目運算操作
三目運算符(?:)組成的表達式是一種基于判斷的賦值表達式,不僅在開發中廣泛使用,在SpEL中也同樣支持。基本的三目運算操作如表5-5所示。
表5-5 三目運算操作

范例:【mldnspring-base模塊】利用三目運算符構建一個基礎的三目運算操作。

本程序利用三目運算符實現了判斷與賦值處理,其基本的流程與程序區別不大。SpEL中除了這種三目運算符之外,還從Groovy語言引入了用于簡化的三目運算符——Elivis運算符。其基本結構為“表達式1?:表達式2”,當表達式1為非null時,返回表達式1;當表達式1為null時,返回表達式2。
范例:【mldnspring-base模塊】使用Elivis運算符。

5.4.6 字符串處理表達式
在SpEL中,最大的特點是可以直接通過表達式的描述實現類中方法的調用,下面將通過字符串的操作進行演示。
范例:【mldnspring-base模塊】進行字符串的指定字符獲取(charAt)。

在SpEL中通過索引訪問,可以代替String類中的charAt方法的使用。
范例:【mldnspring-base模塊】實現字符串的大寫轉換。

范例:【mldnspring-base模塊】字符串替換。

通過程序可以發現,在定義字符串方法調用時,可以直接采用代碼鏈的形式實現方法的調用。對于開發者而言,只是在編寫一個簡單的字符串。
5.4.7 正則匹配運算
正則在程序開發中有著重要的地位,利用正則可以方便地實現數據的匹配與字符串的相應操作。在SpEL中同樣支持正則運算功能。
范例:【mldnspring-base模塊】使用正則進行驗證。

- C語言程序設計(第3版)
- WebAssembly實戰
- vSphere High Performance Cookbook
- C和C++安全編碼(原書第2版)
- 三維圖形化C++趣味編程
- DevOps Automation Cookbook
- Visual Basic程序設計實驗指導(第4版)
- Android驅動開發權威指南
- Kubernetes源碼剖析
- Serverless Web Applications with React and Firebase
- Greenplum構建實時數據倉庫實踐
- XML程序設計(第二版)
- Puppet 5 Beginner's Guide(Third Edition)
- C#網絡編程高級篇之網頁游戲輔助程序設計
- AngularJS by Example