2013-09-02 4 views
1

Итак, яу научился программированию на базовом питоне и изучал некоторые Java через некоторые книги. Я искал некоторые довольно простые примеры кодирования на eclispe, и у меня возник вопрос о возвращаемом оператореСравнение оператора возврата java и оператора возврата python

В Python оператор return в функции, например, выводил бы что-то на экран, например, на python, если бы функция была: def test (x): return x и я тестировал с тестом (4) целое число 4 выводило бы на экран. Возвращает работу так же, как в java?

+4

Я не думаю, что ваше предположение верно. Если вы используете Python в интерактивном режиме, выводится результат каждого введенного выражения. 'test (4)' оценивается до 4 (поскольку возвращается 4), и поэтому 4 печатается. Возврат работает одинаково в Python и Java. – 31eee384

ответ

0

В Java функция возврата передает объект или примитив обратно вызывающему методу (который первоначально вызывал вашу функцию). Вызывающий метод может делать все, что ему нравится (включая печать) возвращаемое значение.

public static int myMethod() { 
    return 5; 
} 

public static void main (String[] args) { 
    int a = myMethod(); 
    System.out.println(a); //prints 5 
} 
+2

Как это «в отличие от Python» (или любого другого языка). Разве это не то, что всегда означает «возвращение»? – Thilo

+0

Я отвечаю, что плакат подразумевает Python. Я не работал в Python. – Kon

2

В Python оператор возврата делает не печати ничего на экране. Что происходит, так это то, что вы запускаете Python в REPL (интерактивный режим), поэтому значения, возвращаемые функциями, автоматически отображаются на экране.

Однако, если вы запустите Python из командной строки (скажем, выполнив скрипт), значения, возвращаемые функциями, не будут отображаться на экране ... если вы явно не напечатаете их. То же самое верно и для Java:

System.out.println(x); // this is how you print in Java 
print(x)    // this is how you print in Python 

AFAIK всех языков программирования, которые имеют return ключевое слово (или эквивалент) не печати ничего на экране, return полезно только, хорошо, возвращения в значение от функции или метода. Для отображения результатов требуется отдельная инструкция.

Смежные вопросы