JavaRush /Курсы /Java Syntax /Сравнение с Pascal’ем

Сравнение с Pascal’ем

Java Syntax
1 уровень , 8 лекция
Открыта
Сравнение с Pascal’ем - 1

— Привет! Меня зовут Лага Билаабо, я – инопланетянин и врач этой экспедиции, надеюсь, мы станем друзьями.

— Я тоже.

— На нашей родной планете мы используем прогрессивный язык программирования Pascal, вместо отсталой Джавы. Вот тебе небольшой пример сравнения Java и Pascal:

Java Pascal
public class MyFirstClass
{
   public static void main(String[] args)
   {
      int a, b, c;
      String s1, s2;
      System.out.println("Введите два числа");
      a = new Scanner(System.in).nextInt();
      b = new Scanner(System.in).nextInt();
      c = a + b;
      System.out.println("Сумма ваших чисел равна " + c);
   }
}
Program MyFirstProgram;
Var
   a, b, c: Integer;
   s1, s2: String;
Begin
   WriteLn("Введите два числа");
   ReadLn(a);
   ReadLn(b);
   c := a + b;
   WriteLn("Сумма ваших чисел равна ", c);
End.

— Это одна и та же программа, записанная на разных языках. Как видишь, в паскале она занимает меньше строчек – это признак того, что паскаль прогрессивнее.

— Я думаю, такое сравнение может ускорить твое понимание Java, если ты когда-то видел Pascal.

— Нет, не видел, но все равно было бы интересно посмотреть сравнение двух разных языков программирования.

— Разумная мысль. Тогда я продолжу.

— В паскале мы помещаем написанный код в тело программы, в процедуры или в функции. В Джаве все было сильно упрощено: тело программы, процедуры и функции заменили просто функциями. И стали называть их методами.

Java Pascal
Функция main
public static void main(String[] args)
{
   System.out.println("Ho-ho-ho!");
}
Тело программы
Begin
   WriteLn("Ho-ho-ho!");
End.
Функция/Метод
double sqr(double a)
{
   return a * a;
}
Функция
Function Sqr(a: Real): Real
Begin
   Sqr := a * a;
End;
Функция с типом void
void doubleWrite(String s)
{
   System.out.println(s);
   System.out.println(s);
}
Процедура
Procedure DoubleWrite(s: String);
Begin
   WriteLn(s);
   WriteLn(s);
End;

— В столбце с Паскалем я вижу «тело программы», «функцию» и «процедуру», а в Java везде функции. Это как-то странно.

— Да, нам – инопланетянам — это кажется очень странным, но люди любят все унифицировать.

— В Java весь код является функциями, поэтому там даже не надо писать function, как в паскале, чтобы объявить функцию.

— Все очень просто: если строчка кода имеет вид «Тип + имя», то это либо объявление функции, либо переменной. Если после имени стоят скобочки – значит это объявление новой функции. Если скобочек нет – объявление новой переменной.

— Объявления переменных и функций в Java очень похожи, сравни:

Код Описание
String name;
Переменная с именем name и типом String.
String getName()
{
}
Функция с именем getName и типом возвращаемого результата String.

— И это ещё не всё. В Java функции не могут быть сами по себе. Они обязаны находиться внутри какого-то класса. Поэтому когда человекам нужно написать одну маленькую программку на Java, им нужно сначала создать класс, затем написать в нем функцию main, а уж потом писать в ней свой код. Все земляне — такие чудаки.

— Сегодня ко мне зашел Диего и попросил дать тебе эти задачи, надеюсь тебе они понравятся:

1
Опрос
Команды и первая программа,  1 уровень,  8 лекция
недоступен
Команды и первая программа
Команды и первая программа
Комментарии (1015)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Марат Уровень 15
23 января 2025
Правильно понимаю архитектуру Программы. Программа состоит из Классов. Класс состоит из Переменных Класса и Функций. Обязательно одна из Функций в каждом Классе - это Функция main. Все остальные Функции описываем за пределами Функции main (или в Функции main можно писать другие Функции ?). Исполнение Класса - это фактически исполнение Функции main, правильно ?.
vlafriday Уровень 4
17 января 2024
17.01.2024 check, мой уровень 1
Даурен Уровень 23
6 февраля 2022
"В Java весь код является функциями, поэтому там даже не надо писать function, как в паскале, чтобы объявить функцию" - в Java не весь код является функциями. Уточните, что это в контексте данного кода.
14 декабря 2021
Уважаемый модератор, отсортируйте задания по возрастанию сложности. А то идет легко, легко, ЭПИК, ЭПИК, легко, легко)
Владимир Уровень 10
20 ноября 2021
Терпение и труд все перетрут!
happyjane7 studio Уровень 2
20 сентября 2021
Чет я не становлюсь ява програмистом. Черт тут есть бесплатный курс???!!!!


Зепп Бранниган Уровень 36 Moderator
23 сентября 2021
Добрый день. В курсе по Java у Вас есть возможность получить бесплатно только 1-й уровень. Если Вам удалось заработать максимальное количество Темной Материи за решение задач на 1-м уровне, то у Вас будет возможность открыть лекции и уровня 2, но задачи, к сожалению, уже будут недоступны. Чтоб продолжить обучение, необходимо определиться с одной из наших подписок.  Кроме этого полностью в открытом доступе на нашем сайте также доступны: Гарвардский курс по основам программирования CS50; Курс по основам программирования под платформу Android от Google; Раздел Игры, где Вы, имея минимально рекомендуемый уровень знаний по Java, сможете самостоятельно создать свою собственную игру и поделиться ею со своими друзьями.
GoshaT Уровень 4
15 октября 2021
Нулевой прошел, но У меня и на первом уровне задачи требуют подписку (
You&Me Уровень 2
25 октября 2021
По ходу нет! Украинский менталитет делает свое дело(((
Oleksandr Svitlyk Уровень 10 Expert
8 апреля 2023
Иди безплатно поработвай. А стоп, не хочешь!? так почему парни которые занимаються всем єтим должны? в голове у тебя каша
Anonymous #2347319 Уровень 2
29 июля 2021
Сказать бы пару ласковых тому, кто не написал, что при использовании sum нужно писать не (2 + 2), а (2, 2).
Леонид Кляйман Уровень 4
9 сентября 2021
+1))
Fr@@$ty!eR Уровень 1
25 сентября 2021
+2))
Олег Уровень 9
30 июля 2024
А почему не почитали метод? там по-моему достаточно понятно написано, что значения вводятся через запятую.
Олег Уровень 18
27 июля 2021
Добрый день! В последнем задании return c; нужен, по моему.
Zeus Pk Уровень 7
20 мая 2021
осталось написать три строчки теперь зато осталось две а вот уже одна осталась а вот уже и ни одной
Денис Гроздов Уровень 23
23 апреля 2023
А мне почему-то Пастернак вспомнился :) ... Любить других тяжелый крест, А ты прекрасна без извилин, И прелести твоей секрет Разгадке жизни равносилен...
hidden #2541625 Уровень 7
10 мая 2021
Я который пришел из других языков познать что такое Java.Смотрю на эпики,думаю что там будет все очень тяжело, а там функции за тебя уже написаны. Просто бери готовое. Вот я и взял 10 темной материи.