Тип double употребляется намного чаще, чем float, поскольку во всех математических функциях из библиотек классов Java используются значения типа double. Например, метод sqrt , определенный в стандартном классе Math, возвращает значение double, являющееся квадратным корнем значения аргумента этого метода, также представленного типом double. Ниже приведен фрагмент кода, в котором метод sqrt используется для расчета длины гипотенузы треугольника, при условии, что заданы длины катетов. /* Определение длины гипотенузы, исходя из длины катетов по теореме Пифагора. */ class Hypot { public static void main(String args[]) { double x, y, z; x = 3; У = 4; // Обратите внимание на вызов метода sqrt. Перед именем метода // указывается имя класса, членом которого он является. z = Math.sqrt(х*х + у*у); System.out.println("Hypotenuse is " + z) ; } }
Выполнение этого фрагмента кода дает следующий результат: Hypotenuse is 5.0
Как упоминалось выше, метод sqrt определен в стандартном классе Math. Обратите внимание на вызов этого метода в приведенном выше фрагменте кода: перед его именем указывается имя класса. Аналогичным образом перед именем метода println указывается имена классов System.out. Имя класса указывается не перед всеми стандартными методами, но для некоторых из них целесообразно применять именно такой способ. Символы
В отличие от других языков в Java символы не являются 8-битовыми значениями. Вместо этого в Java символы всех языков мира представлены в уникоде (Unicode). Таким образом, в Java тип char представляет 16-разрядное значение без знака в диапазоне от О до 65536. Стандартный набор 8-разрядных символов в коде ASCII является подмножеством уникода. В нем коды символов находятся в пределах от 0 до 127. Следовательно, символы в коде ASCII по-прежнему допустимы в Java.
Переменной символьного типа может быть присвоено значение, которое записывается в виде символа, заключенного в одинарные кавычки. В приведенном ниже фрагменте кода показано, каким образом переменной ch присваивается буква S. char ch; ch = 'S’;
Отобразить значение типа char можно с помощью метода println . В приведенной ниже строке кода показано, каким образом этот метод вызывается для вывода на экран значения символа, хранящегося в переменной ch. System.out.println("This is ch:" + ch) ;
Тип char представляет 16-разрядное значение без знака, а это означает, что над пе ременной символьного типа можно производить различные арифметические операции. Рассмотрим в качестве примера следующую программу: //С символьными переменными можно обращаться, как с целочисленными, class CharArithDemo { public static void main(String args[]) { char ch; ch = ' X' ; System.out.println("ch contains " + ch) ; ch++; // переменную типа char можно инкрементировать System.out.println("ch is now " + ch) ; ch = 90; // переменной типа char можно присвоить целочисленное значение System.out.println("ch is now " + ch) ; } }
Ниже приведен результат выполнения данной программы. ch contains X ch is now Y ch is now Z
В приведенной выше программе переменной ch сначала присваивается значение кода буквы X. Затем содержимое ch увеличивается на единицу, в результате чего оно превращается в код буквы Y — следующего по порядку символа в коде ASCII (а также в уникоде). После этого переменной ch присваивается значение 90, представляющее букву Z в коде ASCII (и в уникоде). А поскольку символам в коде ASCII соответствуют первые 127 значений в уникоде, то все приемы, обычно применяемые для манипулирования символами в других языках программирования, вполне работоспособны и в Java. Логический тип данных
Тип boolean представляет логические значения “истина” и “ложь”, для которых в Java зарезервированы слова true и false соответственно. Следовательно, переменная или выражение типа boolean может принимать одно из этих двух значений.
Ниже приведен пример программы, демонстрирующий применение типа boolean в коде. // Демонстрация обращения с логическими значениями, class BoolDemo { public static void main(String args[]) { boolean b; b = false; System.out.println("b is " + b); b = true; System.out.println("b is " + b); // Логическое значение можно использовать для // управления условным оператором if. if(b) System.out.println("This is executed."); b = false; if(b) System.out.println("This is not executed."); // Логическое значение получается в результате // выполнения оператора отношения. System.out.println("10 > 9 is " + (10 > 9)); } }
Результат выполнения данной программы выглядит следующим образом: b is false b is true This is executed. 10 > 9 is true