2016-03-04 92 views
-1

這段代碼片斷是做什麼的?這段代碼片斷做什麼(三元運算符)?

((n % 10 != 0) ? " " : "")

+0

是因爲在這兩種情況下,ü供應了空白是N模10返回o或not.However不同的是「」和「」都是空白的,但不同的在空格方面 –

+2

「」和「」之間有區別。請讓你的基礎知識正確。 – Prashant

回答

0

如果你的號碼除以10的餘數不爲零;

然後,「」(空間)

否則, 「」(空字符串)

我敢肯定有什麼地方丟失了。

+0

我會發表評論,但我不能評論其他人的東西 什麼我不知道 - 也沒有回答 - 是怎麼回事。換句話說,空間或空串是怎麼做的 –

0

它如果n是一個不10.

int n = 21; 
String result = ((n % 10 != 0) ? " " : ""); 
System.out.println("---" + result + "---"); 

打印公分母返回一個空間:

--- --- 
0

ternaryCheck.java

public class ternaryCheck { 

public static void main(String[] args) { 
     String a; 
     int n = 10; //if n = 10 Outputs My nameis ---- (With no space) 
     //int n = 11; //if n = 11 Outputs My name is ---- (See the difference because there is a space in the middle) 
     a = ((n % 10 != 0) ? " " : ""); //" " --> means a space & "" --> means no space 
     System.out.println("My name"+a+"is --"); 
    } 
} 
0
((n % 10 != 0) ? " " : "") 

只是

if (n % 10 != 0) { 
    answer = " "; 
} else { 
    answer = ""; 
} 

的一個與空間" "如果條件爲真時執行。否則執行"";

0

這叫做三元運算符

爲什麼叫做「三元」?您可能知道,二元運算符是一個在兩個操作數上運行的操作符。所以一個三元操作符在3個操作數上運行。

它是做什麼的?三元運算符只是編寫if語句的一種奇特方式。舉例來說,你有這樣的一段代碼

String myString = ((n % 10 != 0) ? " " : ""); 

這是一樣的書寫

String myString; 
if (n % 10 != 0) { 
    myString = " "; 
} else { 
    myString = ""; 
} 

所以,如果你翻譯的代碼成英文,

如果n不是整除10,將myString的值設置爲空格字符。如果n可以被10整除,請將myString的值設置爲空字符串。

優點:

  • 簡化代碼
  • 更優雅
  • 簡潔

缺點:

  • 很難理解有時
  • 很難維持的,如果你嵌套它們五言的