當前位置:首頁 » 編程語言 » java條件表達式

java條件表達式

發布時間: 2022-12-12 15:12:53

java條件表達式怎麼判斷

Java種的條件運算符是指如下表達式: 關系表達式 ? 表達式1 : 表達式2,用來進行邏輯判斷。
求解關系表達式,根據關系表達式的布爾值決定取值:關系表達式的值為true時取表達式1的值;關系表達式的值為false時取表達式2的值。
1、條件運算符的優先順序低於關系運算符和算術運算符,高於賦值運算符。
2、JAVA中條件運算表達式中的關系表達式值的類型必須為布爾類型,只能是true或false。
3、結合性也是右結合性。
4、與C語言不同的是,JAVA中條件表達式的值必須參與運算。例子如下:
publicclassdemo{
publicstaticvoidmain(String[]args){
inta=10,b=20,y;
a>b?(y=a):(y=b;)//1,這樣寫是錯誤的
y=a>b?a:b;//2,這樣寫是正確的
y=a<b?b:b<c?a:c;//3,這樣寫是正確的
}
}

⑵ JAVA條件表達式

暈死,int c=(a<b)?a:b; 的意思就是如果a<b的話c就等於a;不然c就等於b,這里a=10;b=1;所以a不小於b,c就等於1拉

⑶ java三元表達式怎麼算

舉個簡單例子吧。

int a=1;int b=2;int c= a>b?1:0,結果c 為0。a>b 為條件,後面當條件為true時返回":"前面的結果,反之返回":"後面的結果。

⑷ java中,表達式(3>2)8:9的結果是

三目表達式,根據問號前面的 條件表達式的結果,選擇輸出結果,如果問號前面條件表達式的結果是 true,就選擇冒號前面的值,如果是false,就選擇冒號後面的值;問題中的3>2結果是正確的,所以表達式最終的結果是8

⑸ java表達式是什麼

Java是面向表達式的語言,Java中一個簡單表達式可以是下面任意一種:● 常量:7、false。● 單引號括起來的字元字面常量:'A'、'3'。● 雙引號括起來的字元串字面常量:"foo"、"Java"。● 任何正確聲明的變數名:myString、x。● 任何用Java二元運算符(本章稍後將詳細討論)連接起來的兩個上述類型的表達式:x+2。● 任何用Java一元運算符(本章稍後將詳細討論)修飾的單個上述類型的表達式:i++。● 任何用小括弧括起來的上述類型的表達式:(x+2)。以及另外一些與本書後面將要學到的對象有關的表達式類型。無論多麼復雜的表達式都可以由不同類型的簡單表達式和括弧嵌套組合而成,例如:((((4/x) + y) * 7) + z)。2.9.1 算術運算符 Java語言提供了許多基本的算術運算符,如表2-1所示。表2-1 Java算術運算符運算符描 述+加法-減法*乘法/除法%求余(%左邊的操作數除以右邊的
操作數所得到的余數,例如10%3=1)+和-運算符也可作為一元運算符用於表示正負數:-3.7、+42。除了簡單賦值運算符=,還有許多特定的復合賦值運算符,這些運算符將變數賦值和算術操作合並在一起,如表2-2所示。表2-2 Java復合賦值運算符運算符描 述+=a+=b等價於a=a+b-=a-=b等價於a=a-b*=a*=b等價於a=a*b/=a/=b等價於a=a/b%=a%=b等價於a=a%b最後要介紹的兩個算術運算符是一元遞增運算符(++)和一元遞減運算符(--),用於將整數變數的值加1或減1,或者將浮點數變數的值加1.0或減1.0。稱它們為一元運算符是因為它們用於單個變數,而前面討論的二元運算符則連接兩個表達式的值。一元遞增運算符和一元遞減運算符也可用於將字元變數在Unicode序列中向前或向後移動一個字元位置。例如,在下面的代碼片段中,字元變數c的值從'e'遞增為'f':遞增和遞減運算符可以以前綴或者後綴方式使用。如果運算符放在操作數之前(前綴模式),變數的遞增或遞減操作將在更新後的變數值被用於任何由它構成的賦值操作之前執行。例如,考慮下面的使用前綴遞增運算符的代碼片段,假設a和b在程序前面已經聲明為int變數:上述代碼執行後,變數a的值是2,變數b的值也是2。這是因為在第二行中變數a的遞增(從1到2)發生在它的值賦給b之前。因此這行代碼在邏輯上等價於下面兩行代碼: 另一方面,如果運算符放在操作數之後(後綴模式),遞增或遞減操作發生在原來的變數值被用於任何由它構成的賦值操作之後。看一下以後綴方式使用遞增運算符的相同代碼片段:上述代碼執行後,變數b的值是1,而變數a的值是2。這是因為在第二行中變數a的遞增(從1到2)發生在它的值賦給b之後。因此這行代碼在邏輯上等價於下面兩行代碼:下面是一個稍微復雜一點例子,請閱讀附加的注釋以確保你能夠明白x最終是如何被賦值為10的:稍後將會看到,遞增和遞減運算符通常和循環一起使用。2.9.2 關系和邏輯運算符邏輯表達式以指定的方式比較兩個(簡單或者復雜)表達式exp1和exp2,決議出一個boolean值true或者false。 Java提供了表2-3所示的關系運算符來創建邏輯表達式。表2-3 Java關系運算符運算符描 述exp1==exp2如果exp1等於exp2,值為true(注意使用雙等號測試相等性)exp1>exp2如果exp1大於exp2,值為trueexp1>=exp2如果exp1大於等於exp2,值為trueexp1<exp2如果exp1小於exp2,值為trueexp1<=exp2如果exp1小於等於exp2,值為trueexp1!=exp2如果exp1不等於exp2,值為true!exp如果exp為false值為true,如果exp為true值為false除了關系運算符,Java還提供了用於組合/修飾邏輯表達式的邏輯運算符。表2-4列出了最常用的邏輯運算符。表2-4 Java邏輯運算符運算符描 述exp1&&exp2邏輯「與」,僅當exp1和exp2都為true時復合表達式值為trueexp1||exp2邏輯「或」,exp1或exp2值為true時復合表達式值為true!exp邏輯「非」,將邏輯表達式的值從true切換到false,反之亦然下面這個例子用邏輯「與」運算符來編程實現邏輯表達式「如果x大於2.0且y不等於4.0」:邏輯表達式常用於流程式控制制結構,本章稍後將進行討論。2.9.3 表達式求值和運算符優先順序如同本章前面提到的那樣,任何復雜的表達式都可以用分層嵌套的小括弧構成,例如(((8 * (y + z)) + y) x)。編譯器通常按照從內到外,從左到右的順序對這樣的表達式求值。假設x、y、z按照下面的方式聲明並初始化:下面的賦值語句右邊的表達式:將像下面這樣逐步求值:沒有小括弧時,根據運算符用於表達式求值的順序,某些運算符具有高於其他運算符的優先順序。例如,乘除法先於加減法執行。通過使用小括弧可以強制改變運算符的優先順序,括弧內的運算符比括弧外的先執行。考慮下面的代碼片段:代碼的第一行沒有使用括弧,乘法操作比加法操作先執行,因此整個表達式的值為2+12=14,就像我們將表達式明確地寫成2+(3*4)一樣,當然這樣做沒有必要。 在代碼的第二行,括弧被明確地放在操作2+3兩邊,因此加法操作將首先執行,然後求和結果乘以4作為整個表達式的值,即5*4=20。回到前面的例子注意到>和!=運算符優先順序高於&&運算符,因此可以去掉嵌套的括弧而變成下面這樣:然而,額外的括弧並不會對代碼造成傷害,事實上它可以使表達式的目的更加清楚。2.9.4 表達式類型表達式類型是表達式最終求值結果的Java類型。例如給定下面的代碼片段:表達式(x > 2.0) && (y != 4.0)求值結果為true,因此表達式(x > 2.0) && (y != 4.0)稱為boolean型表達式。在下面的代碼片段中:表達式((8 * (y + z)) + y) * x求值結果為42,因此表達式((8 * (y + z)) + y) * x稱為整型表達式。

⑹ java什麼叫「三目條件運算符」

三目運算符,又稱條件運算符,是計算機語言(c,c++,java等)的重要組成部分。它是唯一有3個操作數的運算符,所以有時又稱為三元運算符。一般來說,三目運算符的結合性是右結合的。
定義:
對於條件表達式b ? x : y,先計算條件b,然後進行判斷。如果b的值為true,計算x的值,運算結果為x的值;否則,計算y的值,運算結果為y的值。一個條件表達式絕不會既計算x,又計算y。條件運算符是右結合的,也就是說,從右向左分組計算。例如,a ? b : c ? d : e將按a ? b : (c ? d : e)執行。加括弧()是為了方便閱讀,不加也是一樣的。
可以理解為"(a<b)?a:b"是一個"條件表達式",它是這樣執行的:如果a<b為真,則表達式取a值,否則取b值.條件運算符由兩個符號組成"?「和」:", 要求有3個操作對象,所以也叫它三目運算符,
(1)它的一般形式為:<表達式1> ? <表達式2> : <表達式3>; "?"運算符的含義是:先求表達式1的值,如果為真,則執行表達式2,並返回表達式2的結果;如果表達式1的值為假,則執行表達式3,並返回表達式3的結果。
(2)通常情況下,表達式1是關系表達式或邏輯表達式,用於描述條件表達式中的條件,表達式2和表達式3可以是常量,變數或表達式.
(3)在程序中,通過把條件表達式的值直接賦予某個變數.
A=(b>c)?d:e1

(4)條件表達式的優先順序別僅高於賦值運算符,而低於前面遇到過的所有運算符.
因此,min=(a<b)?a:b括弧可以不要,可直接寫成,min=a<b?a:b如果有x<y?x+1:y-1等效於x<y(x+1):(y-1)而不等效於(x<y?x+1:y)-1
(5) 條件運算符的結合方向為"自右至左".
(6) 條件表達式允許嵌套,即允許條件表達式中的表達式2和表達式3又是一個條件表達式.例如:下面的例子

EL表達式中使用三目運算符:
單個判斷:
${postNum == null ? 0 : postNum}
Servlet:
PwPersonalDetails personalDetails=pwPersonalDetailsService.
findById(borrowerId);//查詢個人信息
request.setAttribute("personalDetails", personalDetails);//傳參
jsp:

<div>
<p>有無購車:</p>
<p id="PurchaseCar">
${personalDetails.purchaseCar eq true ? "有購車":"無購車"}
</p>
</div>1234567891011121314

EL表達式結合三目運算符多個判斷條件寫法:
比如:我後台查詢出來的borrowMoney(表單)數據有bidTypeId(標種類型)分別為1-7七種:我要傳遞到前端html給一個p標簽根據bidTypeId不同給予不同的名稱:
現在直接將多個三目運算符拼成多個條件的寫法:
${borrowMoney.bidTypeId eq 1 ? '信用額度:':(borrowMoney.bidTypeId eq 2 ? '抵押額度:':(borrowMoney.bidTypeId eq 5 ?'擔保額度:':(borrowMoney.bidTypeId eq 7 ? '流轉額度:':'信用額度:')))}

希望對您有所幫助!~

⑺ java中的條件運算符是什麼

這個需要你對編程的三元表達式有一定的基礎。首先三元表達式並不只是針對java在其他語言中如JavaScript和Oracle以及其它語言中都可以使用。

第一點:三元表達式顧名思義就是三個表達式,第一個是判斷條件結果只要是Boolean類型就可以,第二個是值或者表達式,第三個也一樣,如果表達式一是true則執行值二,如果為false則為值三

public static void main(String[] args) {
boolean x = true;
boolean y = true;
System.out.println(x ? y ? 1 : 2 : 3);
}

⑻ JAVA條件運算符

java中的條件運算符即三目運算符,它是一個特殊的運算符,其語法形式如下:布爾表達式?表達式1:表達式2運算過程:如果布爾表達式的值為true,就返回表達式1的值,否則返回表達式2的值,例如:intsum=90;Stringstr=sum<100?"失敗":"成功";等價於下列代碼:Stringstr=null;if(num<100){str="失敗";}else{str="成功";}三目運算符和if……else語句相比,前者使程序代碼更加簡潔。

⑼ java中if 語里的條件表達式怎麼寫

教程裡面應該有例子,把這些例子看明白就知道怎麼用了。只會背「公式」是沒用的。

熱點內容
win7ftp用戶名和密碼設置 發布:2025-01-22 17:46:48 瀏覽:220
三表聯查的sql語句 發布:2025-01-22 17:27:13 瀏覽:417
安卓怎麼解壓分卷壓縮 發布:2025-01-22 17:24:59 瀏覽:720
歐姆龍plc編程語言 發布:2025-01-22 17:21:48 瀏覽:395
和值編程 發布:2025-01-22 17:20:07 瀏覽:517
微信青少年模式獨立密碼是什麼 發布:2025-01-22 16:52:06 瀏覽:589
騰訊雲伺服器怎麼購買 發布:2025-01-22 16:45:01 瀏覽:630
天貓怎麼上傳視頻 發布:2025-01-22 16:40:02 瀏覽:727
安卓如何把抖音評論換成黑色 發布:2025-01-22 16:30:57 瀏覽:702
連接池Java 發布:2025-01-22 16:28:27 瀏覽:260