Java中的三元運算(三目運算)以后用得到!
前言
Java 中的三元運算,平時也叫做三目運算,大家了解嗎?下面就詳細介紹一下,以后在項目編程中用得到。
一、Java運算符
在最底層,Java 中的數(shù)據(jù)是通過使用運算符來操作的。運算符是一種特殊的符號,用來表示數(shù)據(jù)的運算、賦值和比較等等。每一種編程語言都有運算符,在 Java 中運算符可以分為以下幾類:
- 算術運算符:用于對數(shù)字類型的數(shù)據(jù)執(zhí)行數(shù)學運算,包括加、減、乘、除、求余數(shù)、自增、自減等運算。
- 位運算符:用于對二進制數(shù)進行操作,包括按位與、按位或、按位異或、左移、右移等運算。位運算符只能用于整數(shù)類型的數(shù)據(jù)。
- 關系運算符:用于比較兩個值之間的大小關系,結果為布爾類型,只有兩個值的數(shù)據(jù)類型相同才能進行比較。
- 邏輯運算符:用于將兩個布爾類型的值進行邏輯運算,包括與、或、非等運算。
- 賦值運算符:用于將一個值賦給變量。
- 條件運算符:用于根據(jù)某條件的成立與否的結果來決定返回的結果。它是 Java 中唯一一個三元運算符。
- 類型運算符:用于測試數(shù)據(jù)類型。它是一種 Java 中較少使用的運算符,可以用
instanceof來測試一個對象是否為某個類的實例。
二、Java三元運算符
1.三元運算符介紹
Java 中的三元操作符是一種特殊的條件運算符,也被稱為 “三目運算符” 。它顯得比較特別,因為它有三個操作數(shù),但是呢?它確實是運算符的一種,因為最終也會只生成一個值。三元運算使用問號(?)和冒號(:)來表示,語法格式如下:
boolean-exp ? value1 : value2;
其中,boolean-exp 是一個布爾表達式,如果表達式的值為 true,則返回 value1 的值,否則返回 value2 的值。它的作用就是根據(jù) boolean-exp 的值來選擇返回的結果。也就是 value1 或 value2 只能有一個成為運算的最終結果值。
以下是一個使用三元運算符的實際例子,用來比較兩個數(shù)的大小,如果第一個數(shù)大于等于第二個數(shù),則返回第一個數(shù),否則返回第二個數(shù):
int a = 10; int b = 20; int max = (a > b) ? a : b;
在這個例子中,boolean-exp 是表達式 a > b,它的值為 false,所以 value2 的值 b 將被賦給 max 變量,因此,max 的值為20。
2.三元運算嵌套
三元運算是可以嵌套使用的,嵌套后可以處理較復雜的情況,但是建議嵌套不要超三層,否則就增加了情況的復雜性。以下是一個三元運算嵌套的示例代碼:
int a = 10; int b = 20; int c = 30; int max = a > b ? (a > c ? a : c) : (b > c ? b : c);
首先將變量 a、b、c 的值分別賦值。然后根據(jù)嵌套的三元運算符選擇其中的最大值,即如果變量 a 的值大于變量 b 的值,則比較變量 a 與變量 c 的值;否則比較變量 b 與變量 c 的值。最終將選出的最大值賦值給 max 變量。
3.三元運算 VS if-else
到這里大家也發(fā)現(xiàn)了,在某些時候,三元運算和 if-else 可以切換。是的,某些時候三元運算可以作為 if-else 的精簡寫法。我們將上面的代碼換成 if-else 的寫法:
int a = 10;
int b = 20;
int max;
if (a > b) {
max = a;
} else {
max = b;
}
這兩種代碼寫法最終效果是一樣的,但是三元運算更加簡潔,不過它是不支持多個語句的,if-else 的代碼塊中可以有多個語句。
附:Java實現(xiàn) 三目運算符 判斷數(shù)字是奇數(shù)還是偶數(shù)

具體代碼如下:
package package2;
import java.util.Scanner;
/**
* 用三元運算符判斷奇數(shù)和偶數(shù)
* @author asus
* 三元運算符是if...else條件語句的簡寫格式,它可以完成簡單的條件判斷。
* 通過三元運算符判斷該數(shù)字與2的余數(shù),如果余數(shù)為0說明其是偶數(shù),否則是奇數(shù)。
*/
public class ParityCheck {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan=new Scanner(System.in); //創(chuàng)建輸入流掃描器
System.out.println("請輸入一個整數(shù):");
long number=scan.nextLong(); //獲取用戶輸入的整數(shù)
String check=(number%2==0)?"這個數(shù)字是:偶數(shù)":"這個數(shù)字是:奇數(shù)";
System.out.println(check);
}
}總結
三元運算符可以用于對變量進行賦值,也可以用于方法的調用和表達式的返回,可以簡化代碼,使其更加簡潔,同時也方便代碼維護和開發(fā)。但是如果說你想要頻繁的使用三元運算,還得考慮考慮,因為在代碼量多的場景中,容易造成可讀性差。比如條件表達式復雜、命名復雜等等。
到此這篇關于Java中三元運算(三目運算)的文章就介紹到這了,更多相關Java三元運算內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
通過Spring Boot整合Mybatis分析自動配置詳解
這篇文章主要給大家介紹了關于如何通過Spring Boot整合Mybatis分析自動配置的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Spring Boot具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-07-07
SpringBoot+Mybatis plus+React實現(xiàn)條件選擇切換搜索實踐
本文主要介紹了SpringBoot+Mybatis plus+React實現(xiàn)條件選擇切換搜索實踐,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09
maven打生產環(huán)境可執(zhí)行包的實現(xiàn)
本文主要介紹了maven打生產環(huán)境可執(zhí)行包的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2025-01-01
Java實現(xiàn)飛機大戰(zhàn)游戲?附完整源碼
這篇文章主要介紹了Java實現(xiàn)飛機大戰(zhàn)游戲,本文給大家分享完整源代碼和效果圖展示,對java飛機大戰(zhàn)游戲實現(xiàn)代碼感興趣的朋友一起看看吧2022-05-05
解決springboot項目上傳文件出現(xiàn)臨時文件目錄為空的問題
這篇文章主要介紹了解決springboot項目上傳文件出現(xiàn)臨時文件目錄為空的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09

