Сравнение с 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
Задача
Java Syntax,  1 уровень8 лекция
Недоступна
Выбирай здоровую еду! Выбирай фрукты!
Выведи на экран переменные, значения которых являются названиями фруктов. Каждую переменную выведи с новой строки.
1
Задача
Java Syntax,  1 уровень8 лекция
Недоступна
Любимое стихотворение
Современный программист редко бывает совсем уж законченным технарем, который помешан на технике и гаджетах и больше ни на чем. Некоторые из них еще и поэзией увлечены. Если вы из таких, то вам будет легко выполнить следующее задание: вывести на экран четверостишие (или больше) из вашего любимого стихотворения.
1
Задача
Java Syntax,  1 уровень8 лекция
Недоступна
Большая чистка
Тот, кто писал эту программу, явно делал это в спешке.. На самом деле, нет: программа-то учебная, и этот кто-то нарочно запихнул туда лишние переменные, а те, что надо, не объявил. Исправляем ситуацию: лишние переменные закомментируем, а недостающие — объявим. И наступит тогда в программе всеобщая гармония.
1
Задача
Java Syntax,  1 уровень8 лекция
Недоступна
Не хочешь - решай нехотя
Лень-матушка захватывает даже лучших программистов. И не только программистов. Вопреки ей, люди умудрялись самообучаться и становиться специалистами. Так что предлагаем не лениться, а вывести на экран лозунг: «Хочешь - решай задачи, не хочешь - решай нехотя». Ну а чтобы запомнилось, вывести его нужно 16 раз.
5
Задача
Java Syntax,  1 уровень8 лекция
Недоступна
Число в квадрате
Число в квадрате можно получить по-разному. Например, нарисовать квадрат, а внутри — число. Этим способом пользуются те, кто нигде не учился. Остальным придется умножать или вспоминать таблицу квадратов… или воспользоваться программой. Ваша программа должна вывести на экран квадрат числа 5.
5
Задача
Java Syntax,  1 уровень8 лекция
Недоступна
Просто, как 2+2
В Java-приложении все действия выполняют функции. Или методы, так будет правильнее. В нашей программе добрый наставник уже реализовал метод (то есть написал его код), и этот метод умеет считать сумму двух чисел. Всё, что вам нужно сделать — написать вызов этой функции с параметрами 2 и 2. Делать это нужно в методе main.