2015-01-03 2 views
-3

Я видел это во многих примерах в книге, которую читаю, но автор не объясняет, что такое алгоритм? Строка host = args.length> 0? args [0]: «localhost»;Может ли кто-нибудь объяснить этот алгоритм, пожалуйста?

import java.net.*; 
import java.io.*; 
public class Test { 
public static void main(String[] args) { 
    String host = args.length > 0 ? args[0] : "localhost";//This is the part that I don't get 
    for (int i = 1; i < 1024; i++) { 
     try { 
      Socket s = new Socket(host, i); 
      System.out.println("There is a server on port " + i + " of " 
        + host); 
      s.close(); 
     } catch (UnknownHostException ex) { 
      System.err.println(ex); 
      break; 
     } catch (IOException ex) { 
      // must not be a server on this port 
     } 
    } 
    } 
} 
+1

Google Java троичный оператор –

+0

Я даже не знаю, что они не были названы благодаря –

+0

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

ответ

0

Линия вы прокомментировали наборы с host строки к первой аргумент командной строки или "localhost", если нет аргументов командной строки, не присутствовали.

Он использует тройной оператор, который в основном расширяется следующим образом:

String host; 

if (args.length > 0){ 
    host = args[0]; 
}else{ 
    host = "localhost"; 
} 
+0

Спасибо, я за него, спасибо за помощь –