Выбрать главу

Очевидно, что первое сообщение не соответствует действительности: пропущена не точка с запятой, а фигурная скобка.

Таким образом, если ваша программа содержит синтаксические ошибки, не стоит без думно следовать рекомендациям компилятора. Сообщение об ошибке составляется по формальным правилам. Вам же нужно разобраться, каковы истинные причины ошибки. Желательно проанализировать строки кода программы, предшествующие строке, обозначенной компилятором. Иногда ошибку удается распознать лишь после анализа нескольких строк кода, следующих за той, в которой она была на самом деле обнаружена. Еще одна простая программа

Вероятно, наиболее широко употребительной конструкцией в любом языке програм¬ мирования является оператор присваивания значения переменной. Переменная — это именованная ячейка памяти, в которой можно хранить присваиваемое значение. В про¬ цессе выполнения программы значение переменной может изменяться. Это означает, что содержимое переменной не фиксировано. В приведенной ниже программе исполь¬ зуются две переменные — varl и var2. /* Продемонстрировать применение переменной. Присвоить исходному файлу имя Ехахпр1е2. java. */ class Example2 { public static void main(String args[]) { int varl; // Объявление переменной, int var2; // Объявление еще одной переменной. varl = 1024; // Присваивание значения 1024 переменной varl. System.out.println("varl contains " + varl); var2 = varl / 2; System.out.print("var2 contains varl / 2: "); System, out .printfln (var2) ; } }

Запустив эту программу на выполнение, вы получите следующий результат: varl contains 1024 var2 contains varl / 2: 512

В этой программе представлен ряд новых понятий. Сначала в операторе int varl; // Объявление переменной.

объявляется переменная varl целочисленного типа.

В Java каждая переменная должна быть объявлена перед ее использованием. При объявлении переменной задается ее тип, т.е. тип данных, которые могут в ней содержаться. В данном случае переменная varl может содержать целочисленные значения. Для этой цели при объявлении переменной перед ее именем указывается ключевое слово int. Таким образом, в приведенной выше строке кода объявляется переменная varl типа int.

В следующей строке кода объявляется вторая переменная var2: int var2; // Объявление еще одной переменной.

Как видите, в этой строке кода используется та же самая форма объявления переменной, что и в предыдущей. А отличается она только именем переменной.

В общем, для объявления переменной служит следующий оператор: тип имя_переменной;

где тип обозначает конкретный тип объявляемой переменной, а имя_переменной — ее наименование. Помимо int, в Java поддерживаются и другие типы данных.

В следующей строке кода переменной varl присваивается значение 1024: varl = 1024; // Присваивание значения 1024 переменной varl.

В Java оператор присваивания обозначается знаком равенства. Он копирует значение, находящееся справа от него, в переменную, указанную слева.

В следующей строке кода значение переменной varl выводится на экран после символьной строки "varl contains" (Переменная varl содержит): System.out.println("varl contains " + varl);

В этом операторе знак + указывает на то, что значение переменной varl должно быть выведено после символьной строки. Это правило имеет общий характер. Знаком + можно объединить несколько элементов в одном операторе, передав их в качестве параметра методу println ().

В следующей строке кода переменной var2 присваивается значение переменной varl, разделенное на два: var2 = varl / 2;

После выполнения этого оператора переменная var2 будет содержать значение 512, тогда как значение переменной varl останется без изменения. Как и в большинстве других языков программирования, в Java поддерживаются арифметические операторы, в том числе и перечисленные ниже. + Сложение - Вычитание * Умножение / Деление

Рассмотрим следующие две строки кода: System.out.print("var2 contains varl /2: "); System.out.println(var2);

В первой из них вызывается метод print (), выводящий символьную строку "var2 contains varl /2 : " (Переменная var2 содержит значение переменной varl / 2: ) без последующего символа перевода строки. Это означает, что очередные данные будут отображены в той же строке. Метод print () действует таким же образом, как и метод println (), за исключением того, что его выполнение не завершается переходом на следующую строку. Во второй строке методу println () в качестве параметра передается переменная var2. С помощью обоих методов, print () и println (), можно выводить на экран значения любого встроенного в Java типа данных.

Прежде чем переходить к изучению других аспектов Java, необходимо обратить внимание на следующую особенность: в одном операторе можно объявить две и более переменные. Для этого достаточно разделить их имена запятыми. Например, переменные varl и var2 можно объявить так, как показано ниже, int varl, var2; // обе переменные объявляются в одном операторе Другие типы данных

В предыдущем примере программы были использованы переменные типа int. Но они могут содержать только целые числа и не пригодны для хранения дробной части. Так, переменная типа int может содержать значение 18, но не 18,3. Но int — это лишь один из нескольких типов данных, определенных в Java. Для хранения чисел, содержащих дробную часть, в Java предусмотрены типы с плавающей точкой, float и double, которые представляют значения с одинарной и двойной точностью соответственно. Тип double используется чаще, чем float.

Для объявления переменной типа double следует использовать оператор, аналогичный приведенному ниже, double х;

где х обозначает имя переменной типа double. А поскольку х объявлена как переменная с плавающей точкой, в ней можно хранить значения 122,23, 0,034, -19,0 и т.д.

Для того чтобы стали понятнее отличия между типами int и double, рассмотрим следующую программу: /* Эта программа демонстрирует отличия между типами int и double. Присвоить ее исходному файлу имя Ехапцр1еЗ.java. */ class Example3 { public static void main(String args[]) { int var; // объявить целочисленную переменную double x; // объявить переменную с плавающей точкой var = 10; // присвоить переменной var значение 10 х = 10.0; // присвоить переменной х значение 10.0 System.out.println("Original value of var: " + var); System.out.println("Original value of x: " + x); System.out.println(); // вывести пустую строку // а теперь разделить значения обеих переменных на 4 var = var / 4; х = х / 4; System.out.println("var after division: " + var); System.out.println("x after division: " + x); } }

Выполнение данной программы дает следующий результат: Original value of var: 10 Original value of x: 10.0 var after division: 2 < Дробная часть числа теряется х after division: 2.5 <- Дробная часть числа сохраняется

Как видите, при делении значения переменной var на четыре результат получается дробным и программа выводит числовое значение 2, а дробная его часть теряется. В то же время при делении на четыре значения переменной х дробная часть ее числового значения сохраняется и программа отображает правильный результат.

В этой программе показан еще один прием. Для вывода пустой строки на экран достаточно вызвать метод println () без параметров.

Пример для опробования 1.1. Предыдущие примеры программ иллюстрируют некоторые важные особенности языка программирования Java, но они вряд ли применимы на практике. Несмотря на то что ваши знания Java пока еще весьма ограничены, вам вполне по силам написать программу, выполняющую нечто полезное, в частности преобразование галлонов в литры.

В этой программе объявляются две переменные типа double. Одна из них содержит объем жидкости в галлонах, а вторая — тот же самый объем, но преобразованный в литры. В галлоне содержится 3,7854 литра. Поэтому для преобразования галлонов в литры следует умножить число галлонов на 3,7854. В результате выполнения данной программы объем жидкости отображается как в галлонах, так и в литрах.