Иногда мы хотим сохранить значение переменной неизменным на протяжении всей программы, например, идентификаторы для математических констант, таких как пи (PI присваивается значение 3,14159), это постоянная, которую используют для вычисления периметра и площади круга.
В программе CourseGrade, переменные examWeight, labWeight, hwWeight можно рассматривать как константы.
Если вы хотите сделать фиксированными веса для каждого студенты, вы можете предотвратить случайные изменения в значении переменной с помощью "финализации" его значения. Это делается с помощью ключевого слова "final" перед объявлением переменной. Такие переменные часто называют константами.
И вы можете назначить значение для финальной переменной только один раз.
В примере, который мы видели, объявление int examWeight = 70 объявляет и инициализирует examWeight.
Если мы добавим ключевое слово final перед декларацией, эффект проявится в виде блокировки памяти, и значение не может быть изменено снова.
Попытка повторно присвоить значение финальной переменной вызовет ошибку компиляции.
Например, если examWeight была объявлена как финальная, компилятор будет жаловаться при попытке изменить значение examWeight на 50.
Типы данных
Тип данных является очень важным понятием в языке программирования высокого уровня.
Java является строго типизированным языком программирования.
Это означает, что должны быть определены все типы имен, упомянутых в программе Java, прежде чем они могут быть использованы.
Мы только что видели, что способом объявить переменную является указание типа.
Мы использовали тип int для целого числа в предыдущих примерах.
Другие типы данных также поддерживаются Java.
Каждый тип данных имеет свои свойства и требования к пространству памяти.
Это позволяет компьютеру сделать выделение памяти, когда программа выполняется, так как различные типы данных имеют разные требования к размеру памяти.
Свойства типа данных включают в себя набор значений, которые он может взять на себя и набор операторов, которые могут применяться к этим значениям.
Например, значение целого числа может отрицательным, положительным или нулевым, и операции, которые могут быть выполнены для целого числа включают + сложение, – вычитание, * умножение и / деление.
Набор значений известен как домен для этого типа.
Java поддерживает восемь простых типов данных в рамках 4-х основных категорий, а именно целые числа, числа с плавающей точкой, символы и логические значения.
byte, short, int и long являются различными целочисленными типами, которые занимают разное количество памяти.
float и double представляют числа с плавающей точкой, то есть, числа с дробной частью.
Значения, сохраненные в float и double типах, являются только приблизительными.
Существует также тип char для символов, представленных 16-битным стандартом Unicode.
boolean это тип данных, которые могут взять на себя только два возможных значения, истина и ложь.
Сначала мы сконцентрируемся на целых числах и числах с плавающей точкой и вернемся к char и логическим типам позже.
Среди 4 целых типов:
byte это 8-разрядные целые числа, со значениями в диапазоне от -128 до 127,
short составляет 16 бит,
int 32 бита и
long 64 бита, соответствующие диапазоны значений приведены в этой таблице.
Основное преимущество целочисленного представления в том, что оно представляет собой точное значение без приближения, но оно не может представлять значения с плавающей запятой и его область значений ограничена.
Хотя long может составлять до 2 в 63-й степени, его диапазон по-прежнему намного меньше, чем float или double.
В таблице здесь показан диапазон значений, которые могут быть представлены float, который использует 32 бита и double, использующий 64 бита.
Как вы можете видеть, это астрономические цифры.
Выражения
При написании программ, выражения часто используются как строительные блоки для определения действий, которые программа предполагает выполнить.
Существует два типа выражений – арифметические выражения и логические выражения.
Примером арифметического выражения может служить вычисление окончательной оценки как взвешенной суммы оценок, как мы видели в программе СourseGrade.
Примером логического выражения может служить действие проверки студента на получение оценки.
Сначала остановимся на арифметических выражениях, а затем рассмотрим логические выражения, когда будем говорить о разветвленных выражениях.
Арифметическое выражение это последовательность операндов, включающих переменные и константы или литералы, соединенные арифметическими операторами, такими как +, -, * & / .
Мы уже обсуждали переменные и константы.
И первым примером здесь будет использование литералов.
Арифметическое выражение 2+3 соединяет два литерала 2 и 3, используя оператор сложения.
Второй пример, это арифметическое выражение для преобразования температуры из Цельсия в Форенгейт:
Цельсий*9/5+32
Цельсий, – это переменная, 9, 5 и 32 – литералы, и литералы соединены тремя операторами *, / и +.
Позже, вы обнаружите, что, если это будет использовано как Java выражение, возникнет ошибка вычисления.