Как сделать константу в java
В Java константы объявляются с помощью ключевого слова final . Константы обозначаются заглавными буквами и разделяются символом подчеркивания.
Пример объявления константы:
final int MAX_VALUE = 100;
В этом примере мы объявляем константу MAX_VALUE со значением 100. Так как мы использовали ключевое слово final , значение этой переменной не может быть изменено в программе.
Также можно объявить константу как static final для создания глобальной константы, доступной в разных частях программы. Например:
public class Constants public static final int MAX_VALUE = 100; public static final double PI = 3.14159; public static final String MESSAGE = "Hello, world!"; >
Затем можно использовать эти константы в других классах, обращаясь к ним через имя класса:
int max = Constants.MAX_VALUE; double pi = Constants.PI; String message = Constants.MESSAGE;
Как создать список синтаксических констант java
Кроме отдельных примитивных типов данных и классов в Java есть такой тип как enum или перечисление. Перечисления представляют набор логически связанных констант. Объявление перечисления происходит с помощью оператора enum, после которого идет название перечисления. Затем идет список элементов перечисления через запятую:
enum Day
Перечисление фактически представляет новый тип, поэтому мы можем определить переменную данного типа и использовать ее:
public class Program < public static void main(String[] args) < Day current = Day.MONDAY; System.out.println(current); // MONDAY >> enum Day
Перечисления могут использоваться в классах для хранения данных:
public class Program < public static void main(String[] args) < Book b1 = new Book("War and Peace", "L. Tolstoy", Type.BELLETRE); System.out.printf("Book '%s' has a type %s \n", b1.name, b1.getType()); >> class Book < private Type bookType; String name; String author; Book(String name, String author, Type type)< this.bookType = type; this.name = name; this.author = author; >String getType() < switch(bookType)< case BELLETRE: return "Belletre"; case SCIENCE: return "Science"; case SCIENCE_FICTION: return "Science fiction"; case PHANTASY: return "Phantasy"; default: return "Undefined"; >> > enum Type
Само перечисление объявлено вне класса, оно содержит четыре жанра книг. Класс Book кроме обычных переменных содержит также переменную типа нашего перечисления. В конструкторе мы ее также можем присвоить, как и обычные поля класса.
С помощью конструкции switch..case можно проверить принадлежность значения bookType определенной константе перечисления. Пример работы программы:
Book 'War and Peace' has a type Belletre
Методы перечислений
Каждое перечисление имеет статический метод values() . Он возвращает массив всех констант перечисления:
public class Program < public static void main(String[] args) < Type[] types = Type.values(); for (Type s : types) < System.out.println(s); >> > enum Type
Метод ordinal() возвращает порядковый номер определенной константы (нумерация начинается с 0):
System.out.println(Type.BELLETRE.ordinal()); // 1
Конструкторы, поля и методы перечисления
Перечисления, как и обычные классы, могут определять конструкторы, поля и методы. Например:
public class Program < public static void main(String[] args) < System.out.println(Color.RED.getCode()); // #FF0000 System.out.println(Color.GREEN.getCode()); // #00FF00 >> enum Color < RED("#FF0000"), BLUE("#0000FF"), GREEN("#00FF00"); private String code; Color(String code)< this.code = code; >public String getCode() < return code;>>
Перечисление Color определяет приватное поле code для хранения кода цвета, а с помощью метода getCode оно возвращается. Через конструктор передается для него значение. Следует отметить, что конструктор по умолчанию приватный, то есть имеет модификатор private. Любой другой модификатор будет считаться ошибкой. Поэтому создать константы перечисления с помощью конструктора мы можем только внутри перечисления.
Также можно определять методы для отдельных констант:
public class Program < public static void main(String[] args) < Operation op = Operation.SUM; System.out.println(op.action(10, 4)); // 14 op = Operation.MULTIPLY; System.out.println(op.action(6, 4)); // 24 >> enum Operation < SUM< public int action(int x, int y)< return x + y;>>, SUBTRACT < public int action(int x, int y)< return x - y;>>, MULTIPLY < public int action(int x, int y)< return x * y;>>; public abstract int action(int x, int y); >
4. Java – Синтаксис языка для начинающих
Когда мы рассматриваем java-программу, она может быть определена как совокупность объектов, которые взаимодействуют с помощью вызова методов друг друга. Теперь позвольте нам кратко разобраться в синтаксисе языка Java, что же класс, объект, методы и переменные экземпляра означают.
Объект – объекты имеют состояние и поведение. Например: собака может иметь состояние – цвет, имя, а также и поведение – кивать, бежать, лаять, кушать. Объект является экземпляром класса.
Класс – может быть определен как шаблон, который описывает поведение объекта.
Метод – является в основном поведением. Класс может содержать несколько методов. Именно в методах логически записанные данные манипулируют и выполняют все действия.
Переменные экземпляра – каждый объект имеет свой уникальный набор переменных экземпляра. Состояние объекта создается значениями, присвоенными этим переменным экземпляра.
Первая программа и знакомство с синтаксисом языка
Давайте рассмотрим простой код, в результате которого будут выведены на экран слова «Привет мир!», а за одно и синтаксис Java.
public class MyFirstJavaProgram < public static void main(String []args) < /* Это первая моя java-программа. В результате выполнения на экран будет выведено 'Привет мир!' */ System.out.println("Привет мир!"); // Вывод сообщения на экран >>
Рассмотрим, как сохранить файл, чтобы скомпилировать и запустить программу. Пожалуйста, следуйте инструкциям ниже:
- Откройте блокнот и добавьте код, указанный выше.
- Сохраните файл как «MyFirstJavaProgram.java». Ниже мы рассмотрим синтаксис Java и узнаем почему именно под таким именем.
- Откройте окно командной строки и перейдите в каталог, где был сохранен файл. Предположим, что это «C:\».
- Введите «Javac MyFirstJavaProgram.java» и нажмите ввод, чтобы скомпилировать код. Если нет ошибки в коде, командная строка приведет Вас к следующей строке: (Assumption: The path variable is set).
- Теперь введите «java MyFirstJavaProgram» для запуска программы.
- Теперь Вы увидите «Привет Мир!», напечатанный в окне.
C:> javac MyFirstJavaProgram.java C:> java MyFirstJavaProgram Привет мир!
Основы синтаксиса языка
Очень важно знать и помнить следующие моменты в синтаксисе языка Java:
- Чувствительность к регистру – Java чувствителен к регистру, то есть идентификатор Hello и hello имеют разный смысл.
- Название классов – для всех первая буква должна быть в верхнем регистре.
- Если несколько слов используются, чтобы сформировать название класса, первая буква каждого внутреннего слова должна быть в верхнем регистре, например, «MyJavaClass».
- Название методов – в синтаксисе Java все имена методов должны начинаться с буквы нижнего регистра.
- Если несколько слов используются, чтобы сформировать имя метода, то первая буква каждого внутреннего слова должна быть в верхнем регистре, например, «public void myMethodName()».
- Название файла программы – наименование файла программы должно точно совпадать с именем класса.
- При сохранении файла, Вы должны сохранить его, используя имя класса (помните о чувствительности к регистру) и добавить «.java» в конце имени (если имена не совпадают, Ваша программа не будет компилироваться), например, «MyJavaProgram» – это название класса, тогда файл должен быть сохранен как «MyJavaProgram.java».
- public static void main(String args[]) – обработка программы начинается с метода main(), который является обязательной частью каждой программы.
Идентификаторы
Идентификаторы – имена, используемые для классов, переменных и методов. Все компоненты Java требуют имена.
Существует несколько правил в синтаксисе языка Java, которые необходимо помнить об идентификаторе. Они следующие:
- Каждый идентификатор должен начинаться с «A» до «Z» или «a» до «z», «$» или «_».
- После первого символа может иметь любую комбинацию символов.
- Ключевое слово не может быть использовано в качестве идентификатора.
- Самое главное – идентификатор в Java чувствителен к регистру.
- Пример правильного написания: age, $salary, _value, __1_value.
- Пример неправильного написания: 123abc, -salary.
Перечисления
Перечисления были введены в Java 5.0. Они ограничивают переменную, чтобы выбрать только одно из нескольких предопределенных значений. Значения в этом перечисляемом списке называются перечисления.
С использованием перечисления в Java можно уменьшить количество ошибок в коде.
Например, если рассматривать заявки на свежий сок в магазине, можно было бы ограничить размер упаковки сока как для малых, средних и больших. Это позволяет с помощью использования в Java перечисления сделать так, чтобы никто не заказал другой любой размер упаковки, кроме как малый, средний или большой.
Пример java-кода перечисления
class FreshJuice < enum FreshJuiceSize< SMALL, MEDIUM, LARGE >FreshJuiceSize size; > public class FreshJuiceTest < public static void main(String args[])< FreshJuice juice = new FreshJuice(); juice.size = FreshJuice.FreshJuiceSize.MEDIUM; System.out.println("Размер: " + juice.size); >>
Полученный результат выше приведенного примера:
Размер: MEDIUM
Примечание: в Java перечисления могут быть объявлены как самостоятельно, так и внутри класса. Методы, переменные, конструкторы могут быть определены также внутри перечисления.
Типы переменных
Далее в Java мы увидим следующие существующие типы:
- Локальные переменные.
- Переменные класса (статические).
- Переменные экземпляра (динамические).
Модификаторы
Как и в других языках, в Java можно модифицировать классы, методы и так далее, с помощью модификаторов. Модификаторы в Java делится на две категории:
- С доступом: default, public, protected, private.
- Без доступа: final, abstract, strictfp.
Более подробно рассмотрим модификаторы класса, модификаторы методов и другие в следующем разделе.
Массив
В Java массив является объектом, который хранит несколько переменных одного и того же типа. Тем не менее, сам массив является объектом. Мы рассмотрим, как создать и заполнить массив в последующих главах.
Комментарии
Язык Java поддерживает однострочные и многострочные комментарии, они очень похожи на используемые в С и С++. Все символы недоступны внутри любых комментариев и игнорируются компилятором.
Пример комментария
public class MyFirstJavaProgram < /* Это первая моя программа. * В результате выполнения на экран будет выведено 'Привет мир' * Это многострочный комментарий, пример написания. */ public static void main(String []args)< // Однострочный комментарий. /* Тоже однострочный комментарий. */ System.out.println("Привет мир"); >>
Ключевые слова
Всего зарезервировано 50 ключевых слов в Java. Ниже в таблице приведен список зарезервированных ключевых слов.
| Список ключевых слов | |||
| abstract | assert | boolean | break |
| byte | case | catch | char |
| class | const | continue | default |
| do | double | else | enum |
| extends | final | finally | float |
| for | goto | if | implements |
| import | instanceof | int | interface |
| long | native | new | package |
| private | protected | public | return |
| short | static | strictfp | super |
| switch | synchronized | this | throw |
| throws | transient | try | void |
| volatile | while | ||
Важно! Ключевое слово не может быть употреблено в качестве константы или переменной, или любых других имен идентификаторов.
Пустая строка
Пустая строка – строки в Java, содержащие только пробелы, возможно с комментарием. Java полностью игнорирует строку имеющую пробелы и комментарии.
Наследование
Наследование – концепция, которая позволяет повторно воспользоваться полями и методами существующего класса без необходимости переписывать заново код. В этом случае существующий класс называется суперкласс, а производный называется подкласс.
Интерфейс
Интерфейс в Java может быть определен как договор между объектами о том, как общаться друг с другом. Он играет жизненно важную роль, когда речь заходит о понятие наследования.
Интерфейс определяет методы, полученного класса (подкласса), и как их следует использовать. Однако осуществление методов полностью зависит от подкласса.
В следующем части обучения программированию на языке Java Вы получите ясную картину относительно объектов и классов.
Оглавление
- 1. Java – Самоучитель для начинающих
- 2. Java – Обзор языка
- 3. Java – Установка и настройка
- 4. Java – Синтаксис
- 5. Java – Классы и объекты
- 6. Java – Конструкторы
- 7. Java – Типы данных и литералы
- 8. Java – Типы переменных
- 9. Java – Модификаторы
- 10. Java – Операторы
- 11. Java – Циклы и операторы цикла
- 11.1. Java – Цикл while
- 11.2. Java – Цикл for
- 11.3. Java – Улучшенный цикл for
- 11.4. Java – Цикл do..while
- 11.5. Java – Оператор break
- 11.6. Java – Оператор continue
- 12. Java – Операторы принятия решений
- 12.1. Java – Оператор if
- 12.2. Java – Оператор if..else
- 12.3. Java – Вложенный оператор if
- 12.4. Java – Оператор switch..case
- 12.5. Java – Условный оператор (? 🙂
- 13. Java – Числа
- 13.1. Java – Методы byteValue(), shortValue(), intValue(), longValue(), floatValue(), doubleValue()
- 13.2. Java – Метод compareTo()
- 13.3. Java – Метод equals()
- 13.4. Java – Метод valueOf()
- 13.5. Java – Метод toString()
- 13.6. Java – Метод parseInt()
- 13.7. Java – Метод Math.abs()
- 13.8. Java – Метод Math.ceil()
- 13.9. Java – Метод Math.floor()
- 13.10. Java – Метод Math.rint()
- 13.11. Java – Метод Math.round()
- 13.12. Java – Метод Math.min()
- 13.13. Java – Метод Math.max()
- 13.14. Java – Метод Math.exp()
- 13.15. Java – Метод Math.log()
- 13.16. Java – Метод Math.pow()
- 13.17. Java – Метод Math.sqrt()
- 13.18. Java – Метод Math.sin()
- 13.19. Java – Метод Math.cos()
- 13.20. Java – Метод Math.tan()
- 13.21. Java – Метод Math.asin()
- 13.22. Java – Метод Math.acos()
- 13.23. Java – Метод Math.atan()
- 13.24. Java – Метод Math.atan2()
- 13.25. Java – Метод Math.toDegrees()
- 13.26. Java – Метод Math.toRadians()
- 13.27. Java – Метод Math.random()
- 14. Java – Символы
- 14.1. Java – Метод Character.isLetter()
- 14.2. Java – Метод Character.isDigit()
- 14.3. Java – Метод Character.isWhitespace()
- 14.4. Java – Метод Character.isUpperCase()
- 14.5. Java – Метод Character.isLowerCase()
- 14.6. Java – Метод Character.toUpperCase()
- 14.7. Java – Метод Character.toLowerCase()
- 14.8. Java – Метод Character.toString()
- 15. Java – Строки
- 15.1. Java – Метод charAt()
- 15.2. Java – Метод compareTo()
- 15.3. Java – Метод compareToIgnoreCase()
- 15.4. Java – Метод concat()
- 15.5. Java – Метод contentEquals()
- 15.6. Java – Метод copyValueOf()
- 15.7. Java – Метод endsWith()
- 15.8. Java – Метод equals()
- 15.9. Java – Метод equalsIgnoreCase()
- 15.10. Java – Метод getBytes()
- 15.11. Java – Метод getChars()
- 15.12. Java – Метод hashCode()
- 15.13. Java – Метод indexOf()
- 15.14. Java – Метод intern()
- 15.15. Java – Метод lastIndexOf()
- 15.16. Java – Метод length()
- 15.17. Java – Метод matches()
- 15.18. Java – Метод regionMatches()
- 15.19. Java – Метод replace()
- 15.20. Java – Метод replaceAll()
- 15.21. Java – Метод replaceFirst()
- 15.22. Java – Метод split()
- 15.23. Java – Метод startsWith()
- 15.24. Java – Метод subSequence()
- 15.25. Java – Метод substring()
- 15.26. Java – Метод toCharArray()
- 15.27. Java – Метод toLowerCase()
- 15.28. Java – Метод toString()
- 15.29. Java – Метод toUpperCase()
- 15.30. Java – Метод trim()
- 15.31. Java – Метод valueOf()
- 15.32. Java – Классы StringBuilder и StringBuffer
- 15.32.1. Java – Метод append()
- 15.32.2. Java – Метод reverse()
- 15.32.3. Java – Метод delete()
- 15.32.4. Java – Метод insert()
- 15.32.5. Java – Метод replace()
- 16. Java – Массивы
- 17. Java – Дата и время
- 18. Java – Регулярные выражения
- 19. Java – Методы
- 20. Java – Потоки ввода/вывода, файлы и каталоги
- 20.1. Java – Класс ByteArrayInputStream
- 20.2. Java – Класс DataInputStream
- 20.3. Java – Класс ByteArrayOutputStream
- 20.4. Java – Класс DataOutputStream
- 20.5. Java – Класс File
- 20.6. Java – Класс FileReader
- 20.7. Java – Класс FileWriter
- 21. Java – Исключения
- 21.1. Java – Встроенные исключения
- 22. Java – Вложенные и внутренние классы
- 23. Java – Наследование
- 24. Java – Переопределение
- 25. Java – Полиморфизм
- 26. Java – Абстракция
- 27. Java – Инкапсуляция
- 28. Java – Интерфейсы
- 29. Java – Пакеты
- 30. Java – Структуры данных
- 30.1. Java – Интерфейс Enumeration
- 30.2. Java – Класс BitSet
- 30.3. Java – Класс Vector
- 30.4. Java – Класс Stack
- 30.5. Java – Класс Dictionary
- 30.6. Java – Класс Hashtable
- 30.7. Java – Класс Properties
- 31. Java – Коллекции
- 31.1. Java – Интерфейс Collection
- 31.2. Java – Интерфейс List
- 31.3. Java – Интерфейс Set
- 31.4. Java – Интерфейс SortedSet
- 31.5. Java – Интерфейс Map
- 31.6. Java – Интерфейс Map.Entry
- 31.7. Java – Интерфейс SortedMap
- 31.8. Java – Класс LinkedList
- 31.9. Java – Класс ArrayList
- 31.10. Java – Класс HashSet
- 31.11. Java – Класс LinkedHashSet
- 31.12. Java – Класс TreeSet
- 31.13. Java – Класс HashMap
- 31.14. Java – Класс TreeMap
- 31.15. Java – Класс WeakHashMap
- 31.16. Java – Класс LinkedHashMap
- 31.17. Java – Класс IdentityHashMap
- 31.18. Java – Алгоритмы Collection
- 31.19. Java – Iterator и ListIterator
- 31.20. Java – Comparator
- 32. Java – Дженерики
- 33. Java – Сериализация
- 34. Java – Сеть
- 34.1. Java – Обработка URL
- 35. Java – Отправка Email
- 36. Java – Многопоточность
- 36.1. Java – Синхронизация потоков
- 36.2. Java – Межпоточная связь
- 36.3. Java – Взаимная блокировка потоков
- 36.4. Java – Управление потоками
- 37. Java – Основы работы с апплетами
- 38. Java – Javadoc
Литералы — константы?
В Java литералы применяются для представления постоянных значений в форме, удобной для восприятия. Например, число 100 является литералом. Литералы часто называют константами. Как правило, структура литералов и их использование интуитивно понятны. Они уже встречались в рассмотренных ранее примерах программ, а теперь пришло время дать им формальное определение. В Java предусмотрены литералы для всех простых типов. Способ представления литерала зависит от типа данных. Как пояснялось ранее, константы, соответствующие символам, заключаются в одинарные кавычки. Например, и ‘а ‘, и ‘ % ‘ являются символьными константами. Целочисленные константы записываются как числа без дробной части. Например, целочисленными константами являются 10 и -100. При формировании константы с плавающей точкой необходимо указывать десятичную точку, после которой следует дробная часть. Например, 11. 123 — это константа с плавающей точкой. В Java поддерживается и так называемый экспоненциальный формат представления чисел с плавающей точкой. По умолчанию целочисленные литералы относятся к типу int. Если же требуется определить литерал типа long, после числа следует указать букву l или L. Например, 12 — это константа типа int, а 12L — константа типа long. По умолчанию литералы с плавающей точкой относятся к типу double. А для того чтобы задать литерал типа float, следует указать после числа букву f или F. Так, например, к типу float относится литерал 10.19F. Несмотря на то что целочисленные литералы по умолчанию создаются как значения типа int, их можно присваивать переменным типа char, byte, short и long. Присваиваемое значение приводится к целевому типу. Переменной типа long можно также присвоить любое значение, представленное целочисленным литералом. Вопросы:
Литералы это значения переменных?
Почему литералы часто называют константами? Если константа это, фиксированное значение, которое не должно меняться.
Отслеживать
85 7 7 бронзовых знаков
задан 24 окт 2018 в 7:02
Петровченко Иван Петровченко Иван
1,913 1 1 золотой знак 13 13 серебряных знаков 36 36 бронзовых знаков
А литерал и не меняется — при присвоении a=3 меняется значение переменной-приёмника
24 окт 2018 в 7:14
Приведи пример, как ты меняешь именно литерал?
24 окт 2018 в 7:17
«указать букву 1» — это мне кажется, или там действительно указана единица вместо строчной буквы L ?