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...