Что такое string integer
Руководство по классу Java Integer с примерами
Синтаксис класса Integer
Совместимость с версиями JDK
Необходима JDK версии 1.0
Основы класса Integer
Поскольку класс Integer имеет широкую функциональность, мы решили разделить данное руководство на разделы.
Как создать экземпляр класса Integer
Тест на равенство объектов Integer
Java-программа для проверки объектов Integer на равенство
Максимальное и минимальное значения Integer
Мы передали в метод parseInt аргумент, который на 1 больше максимального значения. Поэтому если мы попытаемся выполнить этот отрывок кода, компилятор выдаст исключение NumberFormatException :
Как использовать статичные методы класса Integer
Большинство методов класса Integer статичные, поэтому имеет смысл разобраться, как получить доступ к ним. Не статичные методы используются так:
Статические методы не должны использоваться таким образом, а должны вызываться так как показано ниже:
Нестатические методы вызываются через переменная.метод. Статичные вызываются через Integer.метод(аргументы… ).
Поля объекта Integer
Конструктор класса Integer
Синтаксис | Описание |
Integer(int value) | Создает новый объект Integer, который представляет указанное целочисленное значение. |
Integer(String s) | Это создает новый объект Integer, который представляет целочисленное значение, указанное строковым параметром конструктора. |
Примеры использования методов класса Integer
Модификатор | Возвращаемый тип | Метод | Описание |
static | Int | bitCount(int i) | Этот метод возвращает целочисленное значение, которое соответствует количеству единиц в двоичном представлении числа-аргумента метода. |
byte | byteValue() | Возвращает значение объекта Integer в виде типа byte. Этот метод переопределяет метод byteValue() класса Number. | |
static | Int | compare(int x, int y) | Метод просто возвращает целочисленное представление результата сравнения двух целочисленных аргументов. |
Int | compareTo(Integer anotherInteger) | Возвращает целочисленное значение результата сравнения аргумента метода и объекта Integer. | |
static | Integer | decode(String nm) | Возвращает декодированное значение строкового аргумента в объект Integer. |
Double | doubleValue() | Возвращает эквивалент объекта Integer типа double ( java double to integer ). Метод doubleValue() унаследован из класса Number. | |
boolean | equals(Object obj) | Возвращает результат сравнения объекта Integer и объекта-аргумента типа Object. Этот метод переопределяет метод equals класса Object. | |
Float | floatValue() | Возвращает эквивалент объекта Integer в типе float. Метод floatValue унаследован из класса Number. | |
static | Integer | getInteger(String nm) | Возвращает значение свойства, указанного в качестве аргумента, в объекте Integer. |
static | Integer | getInteger(String nm, int val) | Определяет целочисленное значение свойства, указанного в строковом параметре. Если свойство не найдено, возвращает объект Integer со значением, указанным во втором параметре. |
static | Integer | getInteger(String nm, Integer val) | Возвращает целочисленное значение свойства, указанного в строковом параметре. Если свойство не найдено, возвращает объект Integer, указанный во втором параметре. |
Int | hashCode() | Возвращает хэш-код объекта Integer. | |
static | Int | highestOneBit(int i) | Определяет позицию старшего бита. Возвращает значение, в котором установлен только этот бит. Если ни один из битов не установлен, возвращает 0. |
Int | intValue() | Возвращает целочисленный эквивалент объекта Integer. Метод унаследован из класса Number. | |
Long | longValue() | Возвращает значение объекта Integer как тип long. | |
static | Int | lowestOneBit(int i) | Возвращает целое число, получающееся, если оставить только младшую (крайнюю правую) единицу в двоичном представлении числа-аргумента. |
static | Int | numberOfLeadingZeros(int i) | Возвращает количества нулей слева в двоичном представлении числа-аргумента. |
static | Int | numberOfTrailingZeros(int i) | Возвращает количества нулей справа в двоичном представлении числа-аргумента. |
static | Int | parseInt(String s) | Преобразует строку-аргумент в десятичное число со знаком. |
static | Int | parseInt(String s, int radix) | Преобразует строку-аргумент в целом число со знаком в системе исчисления, указанной во втором аргументе. |
static | Int | reverse(int i) | Возвращает число, получаемое в результате перестановки битов числа-аргумента в обратном порядке. |
static | Int | reverseBytes(int i) | Возвращает число, получаемое в результате перестановки байтов числа-аргумента в обратном порядке. |
static | Int | rotateLeft(int i, int distance) | Возвращает число, полученное в результате сдвига битов числа-аргумента на указанное количество позиций влево. (Биты, вышедшие за пределы слева, возвращаются в правую часть). |
static | Int | rotateRight(int i, int distance) | Возвращает число, полученное в результате сдвига битов числа-аргумента на указанное количество позиций вправо. (Биты, вышедшие за пределы справа, возвращаются в левую часть). |
Short | shortValue() | Возвращает эквивалент объекта Integer в типе short. Этот метод переопределяет метод shortValue класса Number. | |
static | int | signum(int i) | Возвращает результат функции signum от указанного целого числа. |
static | String | toBinaryString(int i) | Возвращает строковый эквивалент двоичного представления числа-аргумента. |
static | String | toHexString(int i) | Возвращает строковое представление целочисленного аргумента в виде шестнадцатеричного числа без знака. |
static | String | toOctalString(int i) | Возвращает строковое представление целочисленного аргумента в виде восьмеричного числа без знака. |
String | toString() | Возвращает объект String, представляющий значение объекта Integer. | |
static | String | toString(int i) | Возвращает объект String, представляющий значение целочисленного аргумента. |
static | String | toString(int i, int radix) | Возвращает строковый эквивалент целого десятичного числа-аргумента в указанной системе исчисления. |
static | Integer | valueOf(int i) | Возвращает экземпляр объекта Integer, представляющий указанное целое число. |
static | Integer | valueOf(String s) | Возвращает экземпляр объекта Integer, содержащий значение, указанное в строке-аргументе. |
static | Integer | valueOf(String s, int radix) | Возвращает экземпляр объекта Integer, содержащий значение, передаваемое в строке-аргументе в системе исчисления, указанной во втором параметре. |
Пожалуйста, оставьте ваши комментарии по текущей теме материала. За комментарии, подписки, дизлайки, лайки, отклики низкий вам поклон!
Пожалуйста, оставьте ваши комментарии по текущей теме статьи. Мы очень благодарим вас за ваши комментарии, отклики, лайки, подписки, дизлайки!
Знакомство с типами int и String
— Здравствуйте, Эллеонора Керри.
— Называй меня просто Элли, а то звучит как-то слишком официально.
— Я думаю, что с моей помощью ты быстро станешь одним из лучших. У меня большой опыт в обучении новичков. Слушай меня, и дело пойдёт как по маслу. Итак, приступим.
— В Java есть два основных типа: String и int. В String мы храним строки/текст, а в int – числа (целые). Чтобы объявить новую переменную, нужно написать её тип и имя. Это имя не должно быть именем другой переменной и/или функции.
— При объявлении переменных в них сразу можно заносить их значения.
— Для того, чтобы занести новое значение в переменную, используется знак “=”. Его ещё называют «оператором присваивания». Присваивание – это занесение в переменную значения, взятого из другой переменной или вычисленного на основе нескольких переменных.
Пример 3, код: | Описание |
---|---|
В переменной a хранится значение 5. | |
В переменной b хранится значение 6. | |
В переменной c хранится значение 11. |
— При вычислении нового значения переменной может использоваться её старое значение.
Пример 4, код: | Описание |
---|---|
Теперь a равно 2 | |
Теперь b равно 3 | |
Теперь a равно 5 | |
Теперь b равно 4 |
— Строки можно объединять, используя знак плюс:
Пример 5, код: | Описание |
---|---|
В переменной s3 содержится значение «МамаМылаРаму» |
— Иногда удобно использовать строки, состоящие из одного или нескольких пробелов:
Пример 6, код: | Описание |
---|---|
text содержит «Мой любимый фильм Дорога 66» |
Сейчас мы рассмотрим, как выводить текст и значение переменных на экран:
Пример 7, код: |
---|
1 |
2 |
— Кстати, Диего просил передать тебе пару задачек:
Сводка типов данных
Тип данных — это характеристика переменной, определяющая тип содержащихся в ней данных. К типам данных относятся типы, указанные в таблице ниже, а также пользовательские типы и определенные типы объектов.
Набор встроенных типов данных
В следующей таблице показываются поддерживаемые типы данных, включая размеры хранилищ и диапазоны.
Тип данных | Размер хранилища | Диапазон |
---|---|---|
Boolean | 2 байта | True или False |
Byte | 1 байт | от 0 до 255 |
Collection | Неизвестно | Неизвестно |
Currency (масштабируемое целое число) | 8 байт | от –922 337 203 685 477,5808 до 922 337 203 685 477,5807 |
Date | 8 байт | от 1 января 100 г. до 31 декабря 9999 г. |
Decimal | 14 байт | +/–79 228 162 514 264 337 593 543 950 335 без десятичной запятой +/–7,9228162514264337593543950335 с 28 разрядами справа от десятичной запятой Наименьшее ненулевое число равно +/–0,0000000000000000000000000001 |
Dictionary | Неизвестно | Неизвестно |
Double (число с плавающей запятой двойной точности) | 8 байт | от –1,79769313486231E308 до –4,94065645841247E-324 для отрицательных значений от 4,94065645841247E-324 до 1,79769313486232E308 для положительных значений |
Integer | 2 байта | от –32 768 до 32 767 |
Long (целое число Long) | 4 байта | от –2 147 483 648 до 2 147 483 647 |
LongLong (целое число LongLong) | 8 байт | от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807 Действительно только для 64-разрядных платформ. |
LongPtr (целое число Long в 32-разрядных системах, целое число LongLong в 64-разрядных системах) | 4 байта в 32-разрядных системах 8 байт в 64-разрядных системах | от –2 147 483 648 до 2 147 483 647 в 32-разрядных системах от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807 в 64-разрядных системах |
Object | 4 байта | Любая ссылка на Object |
Single (число с плавающей запятой одинарной точности) | 4 байта | от –3,402823E38 до –1,401298E-45 для отрицательных значений от 1,401298E-45 до 3,402823E38 для положительных значений |
String (переменная длина) | 10 байтов + длина строки | от 0 до приблизительно 2 миллиардов |
String (фиксированная длина) | Длина строки | от 1 до приблизительно 65 400 |
Variant (с числами) | 16 байт | Любое числовое значение до диапазона типа Double |
Variant (с символами) | 22 байта + длина строки (24 байтов в 64-разрядных системах) | Тот же диапазон как для типа String переменной длины |
Определяется пользователем (используя Type) | Число, необходимое для элементов | Диапазон каждого элемента совпадает с диапазоном его типа данных. |
Тип Variant, содержащий массив, требует на 12 байт больше, чем сам массив.
Для массивов данных любого типа требуются 20 байтов памяти плюс 4 байта на каждую размерность массива, плюс количество байтов, занимаемых самими данными. Память, занимаемая данными, может быть вычислена путем умножения количества элементов данных на размер каждого элемента.
Например, данные в одномерном массиве, состоящем из 4 элементов данных Integer размером 2 байта каждый занимают 8 байтов. 8 байтов, необходимых для данных, плюс 24 байта служебных данных составляют 32 байта полной памяти, требуемой для массива. На 64-разрядных платформах массив SAFEARRAY занимает 24 бита (плюс 4 байта на оператор Dim). Элемент pvData является 8-байтным указателем, и он должен находиться в границах 8 байтов.
Тип LongPtr не является настоящим типом данных, так как он преобразуется в тип Long в 32-разрядных средах или в тип LongLong в 64-разрядных средах. Тип LongPtr должен использоваться для представления указателя и обработки значений в операторах Declare и позволяет писать переносимый код, который может выполняться как в 32-разрядных, так и в 64-разрядных средах.
Для преобразования одного типа строковых данных в другой используется функция StrConv.
Преобразование между типами данных
В статье Функции преобразования типов приведены примеры использования следующих функций для приведения выражения к определенному типу данных: CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, CLngLng, CLngPtr, CSng, CStr и CVar.
Ниже приведены страницы соответствующих функций: CVErr, Fix и Int.
Функция CLngLng действительна только для 64-разрядных платформ.
Проверка типов данных
Чтобы проверить типы данных, ознакомьтесь с приведенными ниже функциями.
Возвращаемые значения функции CStr
Если expression | CStr возвращает |
---|---|
Boolean | Строка, содержащая значение True или False. |
Date | Строка, содержащая полный или краткий формат даты, установленный в системе. |
Empty | Строка нулевой длины («»). |
Error | Строка, содержащая слово Error и номер ошибки. |
Null | Ошибка во время выполнения. |
Другое числовое значение | Строка, содержащая число |
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Руководство по классу Java Integer
Классы-обертки примитивных типов
The Integer
Автоупаковка и распаковка Integer
Константы класса Integer
Класс Integer предоставляет различные константы и методы для работы с целыми числами. В данном разделе мы более подробно рассмотрим некоторые из них на практике. Начнем с констант. В таблице ниже приведены все константы класса:
Костанта | Описание |
---|---|
SIZE | Количество битов в двузначной системе счисления, занимаемое типом int |
BYTES | Количество байтов в двузначной системе счисления, занимаемое типом int |
MAX_VALUE | Максимальное значение, которое вмещает в себя тип int |
MIN_VALUE | Минимальное значение, которое вмещает в себя тип int |
TYPE | Возвращает объект типа Class от типа int |
Посмотрим на значения всех этих констант, выполнив следующий код: В результате получим следующий вывод:
Методы класса Integer
Заключение
Домашнее задание
Изучить, какие еще есть методы класса Integer (изучать можно на сайте с официальной документацией), написать в комментариях, какой из изученных вами методов (без учета тех, которые приведены в статье) наиболее полезен по вашему мнению (будет использоваться вами наиболее часто). А также привести обоснование своего мнения.
P.S. Тут нет правильных ответов, но данная активность позволит лучше изучить класс.
Решить небольшую простенькую задачку для закрепления материала.
У нас есть два числа:
1100001001 — в двоичной системе счисления
33332 — в пятеричной системе счисления
Необходимо используя только методы класса Integer определить максимум среди двух данных чисел, а затем вывести разницу между максимальным и минимальным значением в троичной системе счисления.
Перевести максимально возможное значение Integer в восьмеричную систему счисления и вывести на экран количество цифр в полученном числе (количество считать программно).
Русские Блоги
Разница между int и Integer и String, разница между StringBuffer и StringBuilder
продлить:
О сравнении Integer и int
1. Поскольку целочисленная переменная фактически является ссылкой на целочисленный объект, две целочисленные переменные, сгенерированные new, всегда неравны (поскольку new генерирует два объекта. Адрес памяти разный).
2. При сравнении переменных типа Integer и int, если значения двух переменных равны, результат будет истинным (потому что, когда класс упаковки Integer сравнивается с базовым типом данных int, java автоматически распаковывает его как int а затем сравните его. Фактически, это становится сравнением двух переменных типа int)
3. При сравнении целочисленной переменной, созданной non-new, с переменной, созданной new Integer (), результат будет ложным. (Поскольку не новая сгенерированная переменная Integer указывает на объект в пуле констант java, а переменная, сгенерированная new Integer (), указывает на вновь созданный объект в куче, адреса этих двух в памяти отличаются)
Причина статьи 4:
Когда java компилирует Integer i = 100 ;, оно будет преобразовано в Integer i = Integer.valueOf (100) ;, а определение целочисленного типа valueOf в java API выглядит следующим образом:
Разница между String, StringBuffer и StringBuilder
Строки широко используются. В программировании на Java строки являются объектами в Java. Java предоставляет класс String для создания строк и управления ими.
Следует отметить, что значение String является неизменяемым, что приводит к созданию нового объекта String для каждой операции над String, что не только неэффективно, но и расходует много ограниченного пространства памяти. Давайте посмотрим на эту картину изменений памяти при работе со String:
Мы видим, что начальным значением String является «hello», а затем после этой строки добавляется новая строка «world». Этот процесс необходимо повторно открыть в памяти стека. С точки зрения пространства памяти, строка «hello world» наконец-то получена, и необходимо открыть соответствующее пространство памяти. Такие короткие две строки должны открыть пространство памяти трижды. Надо сказать, что это большая трата памяти пространство. Чтобы справиться с частыми операциями, связанными со строками, Google представил два новых класса: класс StringBuffer и класс StringBuild для обработки такой измененной строки.
Два, Java StringBuffer и StringBuilder class-StringBuffer string variable, StringBuilder string variable
При изменении строки необходимо использовать классы StringBuffer и StringBuilder.
В отличие от класса String, объекты классов StringBuffer и StringBuilder можно изменять несколько раз без создания новых неиспользуемых объектов.
Класс StringBuilder был предложен в Java 5. Самая большая разница между ним и StringBuffer заключается в том, что методы StringBuilder не являются потокобезопасными (к ним нельзя обращаться синхронно).
Поскольку StringBuilder имеет преимущество в скорости перед StringBuffer, в большинстве случаев рекомендуется использовать класс StringBuilder. Однако, когда приложению требуется потокобезопасность, необходимо использовать класс StringBuffer.
Структура наследования трех
Разница между тремя:
(1) Разница в модификации символов (в основном, см. анализ выше)
(2) Разница в инициализации, строка может быть пустым назначением, последнее не работает, сообщается об ошибке
резюме:
(1) Если вы хотите работать с небольшим объемом данных, используйте String;
(2) Работа с большим объемом данных StringBuffer в строковом буфере многопоточной операции;
(3) Управляйте большим объемом данных StringBuilder в строковом буфере однопоточной операции.