2016-03-04 4 views
-1

Что делает этот фрагмент кода?Что делает этот фрагмент кода (тернарный оператор)?

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

+0

Да, потому что в курсе обоих случаях у снабдил пустое пространство либо п по модулю 10 возвращает о или not.However разница «» и «» как пустые, но разные с точки зрения пробелов –

+2

Существует разница между «» и «». Пожалуйста, правильно поняли свои основы. – Prashant

ответ

0

Если остаток от вашего номера, деленное на десять не равен нулю;

Затем "" (пробел)

Else, "" (пустая строка)

Я уверен, что что-то не хватает.

+0

Я бы сделал этот комментарий, но я не могу комментировать другие материалы ppl То, что я не знаю, и не ответил - это что. другими словами, то, что делается с пространством или пустой строкой –

0

Он возвращает пространство, если п является не общий знаменатель 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 = ""; 
} 

Так что, если вы переводите код на английский язык,

Если п не делится на 10, задайте значение myString символу пробела. Если n делится на 10, установите значение myString в пустую строку.

Преимущества:

  • упрощает код
  • более элегантный
  • лаконичные

Недостатки:

  • трудно понять иногда
  • трудно поддерживать, если вкладывать их