java中三目運算子,java三目運算子

2021-03-04 08:48:31 字數 4352 閱讀 1778

1樓:我的夢想自由

先學java的叫它,三元運

算符;先學c的叫它三目運算子

即( ?: )

如名字表示的三元運算子需要三個運算元。

語法為:條件表示式?表示式1:表示式2。

說明:問號前面的位置是判斷的條件,判斷結果為bool型,為true時呼叫表示式1,為false時呼叫表示式2。

其邏輯為:「如果為真執行第乙個,否則執行第二個。」

2樓:手機使用者

x? y:z x是乙個boolean型別,若x為true,結果顯示y,若x為false,則結果顯示z.

3樓:荊蝶束香春

在java裡面有乙個唯一的三目運算子,那就是:?:

條件a?

結果1:結果2;

其意思就是:當條件a成立時,返回結果1,否則返回結果2;

這個就相當於是乙個分支程式。但是它只是乙個運算。

java三目運算子

4樓:

1、三目運算子 (表示式1)?(表示式

2):(表示式3),計算方法是這樣的:表示式1是乙個邏輯表示式,如果其值為true,則整個表示式的值為表示式2的值,否則為表示式3的值

2、例子:int i = (5 > 3) ? (5 + 3) : (5 - 3);結果為i = 8.因為5 > 3為true,所以i = 5 + 3.

3、根據三目運算子的從右到左的結合性,我是這樣劃分的

year > a.year ? 1 :

(year < a.year ? -1 :

(month > a.month ? 1 :

(month < a.month ? -1 :

(day > a.day ? 1 :

(day < a.day ? -1 :

0)))));

所以應該從最右邊的那個表示式開始計算,結果應該是1、0、-1中的乙個值。

以上純屬個人理解。沒搞清楚你這個演算法到底是什麼意義。。。。還有你的***pare()方法不能宣告為靜態。

java 三元運算子

5樓:匿名使用者

你這樣寫的話,就相當於"system.out.println(x)"和"system.out.println(y)"分別是乙個整體,表示一串字串

正確應該是這樣寫:

system.out.println((x>y)?x:y);

6樓:匿名使用者

java提供乙個特別的三元運算子(ternary)經常用於取代某個型別的if-then-else語句。這個運算子就是?,並且它在java中的用法和在c/c++中的幾乎一樣。

該符號初看起來有些迷惑,但是一旦掌握了它,用?運算子是很方便高效的。

運算子的通用格式如下:

expression1:expression2:expression3

其中,expression1是乙個布林表示式。如果expression1為真,那麼expression2被求值;否則,expression3被求值。整個表示式的值就是被求值表示式(expression2或expression3)的值。

expression2和expression3是除了void以外的任何型別的表示式,且它們的型別必須相同。下面是乙個利用運算子的例子:

ratio=denom==0?0:num/denom;

當java計算這個表示式時,它首先看問號左邊的表示式。如果denom等於0,那麼在問號和冒號之間的表示式被求值,並且該值被作為整個表示式的值。如果denom不等於零,那麼在冒號之後的表示式被求值,並且該值被作為整個表示式的值。

然後將整個表示式的值賦給變數ratio。

條件a:b;

等同於if(條件)

else

7樓:匿名使用者

如樓上兩位所說、

應該是 a? b : c 如果條件a為true 則 b 否則 c 所以應該是 ? :

8樓:藍se禁藥

應該是這樣:

system.out.println((x>y)?x:y);

java三目運算子巢狀怎麼用

9樓:清風亦扶柳

紅色框框  部分是  解釋 三目運算  巢狀下面是 **

public static void showthreealgorithm() else*/

int i = 46;

int j = 97;

int z = i>j?i:j;

int y = i

system.out.println("i>j?i:j的  值 : "+z);

system.out.println("i//用三元運算求出判斷兩個值是否相等,不相等 輸出較大的值int s = i==j?0:i>j?i:j;

// i等於j 則s = 0

// 否則判斷 i 是否大於 j  大於 則 s = i 小於 則 s = j

system.out.println("輸出s的值:\t"+s);}

10樓:匿名使用者

輸出結果是false

我們把它分成兩份,等號前和等號後,前:true?false:

true,問號前就是表示式,表示式就是true,所以執行第一條語句:false。後:

true?true:false;問號前還是true,執行true

現在false == true返回結果是false,所以b也就是false了

java三目運算子問題

11樓:匿名使用者

1、三目運算子 (表示式1)?(表示式2):(表示式3),計算方法是這樣的:表示式1是乙個邏輯表示式,如果其值為true,則整個表示式的值為表示式2的值,否則為表示式3的值

2、例子:int i = (5 > 3) ? (5 + 3) : (5 - 3);結果為i = 8.因為5 > 3為true,所以i = 5 + 3.

3、根據三目運算子的從右到左的結合性,我是這樣劃分的

year > a.year ? 1 :

(year < a.year ? -1 :

(month > a.month ? 1 :

(month < a.month ? -1 :

(day > a.day ? 1 :

(day < a.day ? -1 :

0)))));

所以應該從最右邊的那個表示式開始計算,結果應該是1、0、-1中的乙個值。

以上純屬個人理解。沒搞清楚你這個演算法到底是什麼意義。。。。還有你的***pare()方法不能宣告為靜態。

java用三目運算子,輸入任意比較三個數大小,輸出中間數。 要求只能用三目運算子。

12樓:甲骨文蜒怪

int ***p(int a, int b, int c)

java實現比較鍵盤輸入的3個數的大小,輸出大數的步驟如下:

1、開啟eclipse,建立乙個java工程,在此工程中新建乙個java類;

2、在新建的java類中利用scanner類獲取鍵盤輸入的三個數,並且分別賦值給變數a,b,c;

3、新增乙個比較兩個數的方法,將隨機兩個數進行比較,再讓返回的最大值與最後乙個值進行比較,即可得出最大值。

具體實現**如下:

java">import java.util.scanner;

public class demo

//比較方法

private static int getmax(int x,int y)}

13樓:月月

//需求: 三個數

,想知道最大的是哪個?

int a = 4,b = 8,c = 20,d,max;

d = (a > b)?a:b;//d變數儲存的就是a,b兩個數的較大數。

max = (d > c)?d:c;//a,b中較大數跟c比較大小並賦值給max。

system.out.println("max="+max);//列印輸出變數max。

在java中,什麼是單目/雙目/三目運算子

14樓:匿名使用者

所謂單目運算子就是只有需要乙個運算元的運算子,如:--、++

同理,雙目運算子就是需要兩個運算元的運算子,如:+、-、*、/、= 等。

三目運算子只有乙個 ? : 。(需要三個運算元)

15樓:匿名使用者

就是由幾個運算數.

乙個,叫單目,兩個叫雙目,三個,叫三目.

java取餘,java中取餘運算子

5 3 2 5 3 2 5 3 2 5 3 2 可以認為被除數決定了餘數的正負 符號是 雙目運算子,且符號兩端的運算元必須是整數。如 8 7 而不是 8.1 7 運算所得的結果,是進行除法運算後的餘數,如 10 3 結果為3,餘數為1,所以 10 3 1 就是用 號來進行取餘操作。能把問題講詳細點嗎...

java中的運算子怎麼用,java中的分別是什麼?有什麼用?怎麼用?

是按位 或 是按位抑或 是按位與 比如有兩個數 int x 5 int y 11 system.out.println x y system.out.println x y system.out.println x y 結果是15,1 14 過程x 5 0101二進位制 y 11 1011二進位制 ...

sqlserver中有三元運算子的概念嗎

有這樣功能的東西存在 就是 case when select case when 1 2 then yes else no end 相當於你的三元運算子 1 2?yes no 資料庫概論中 什麼是三元聯絡的概念?乙個售貨員 salesperson 可以將多種商品 goods 售給乙個顧客 custo...