Это базовые знания языка java, которым стоит уделить пристальное внимание. Изучайте документацию и дополнительные материалы обязательно, не спешите, задавайте вопросы, перечитывайте, возвращайтесь периодические к материалам этого урока.
Java является объектно-ориентированным языком, поэтому такие понятия как "класс" и "объект" играют в нем ключевую роль. Любую программу на Java можно представить как набор взаимодействующих между собой объектов.
Тип — это то, что определяет свойства объекта. Название типа соответствует имени своего класса. Все свойства объекта описаны в классе.
Объект — это экземпляр, созданный по шаблону соответствующего типа.
О чем говорит "тип" в мире java:
Согласно спецификации JVM — типы группируются так:
primitive types
- быстрые в чтении/записи;reference types
, они же ссылочные - сложны и медленны, но могут работать с большими значениями и обладают дополнительным функционалом.'a'
, 'D'
, '1'
, '9'
, ''
и любые одиночные символы. Объекты char всегда заключены в одинарные кавычки. У каждого примитива есть свои классы-обертки, которые уже являются не примитивами. У int это Integer, у char это Character и т.д.
Все примитивные типы ограничены в своих значениях. Читаем об этом в ссылках на необходимые дополнительные материалы.
Для целочисленных вычислений эффективнее использовать тип int
. Поскольку на уровне JVM для типов byte
и short
реализованы не все инструкции, как в случае с int
. Вот в этом разделе спецификации JVM вы увидете количество определенных операций для целочисленных типов.
Поэтому используйте byte
и short
только для хранения массивов данных. При любых вычислениях с целыми числами — они автоматически будут приведены к типу int
еще на этапе компиляции.
Например, для записи набора целочисленных данных в файле лучше использовать byte
или short
, в зависимости от необходимости. А, например, для счетчика (i++
он же: i += 1
, i = i + 1
) лучше использовать тип int
. Даже если этот счетчик никогда не превысит значение 3
, поскольку Java Virtual Machine просто легче работать с int
.
class types - Это фактически любой класс в мире java. Например:
String
- тип, который хранит в себе строки. Строки отличаются от char
тем, что могут хранить в себе от нуля до более двух миллиардов символов. Объекты String
всегда заключены в двойные кавычки: "моя строка"
; даже если это один символ: "ф"
, "9"
, "j"
,""
и т.д.Long
- тип-обертка над примитивом long
. Позволяет производить дополнительные операции над численным типом. Например конвертируя его в String
или наоборот.Object
- это суперкласс для всех классов, базовый класс в мире java. От него наследуются все остальные классы. И даже те, которые будете создавать Вы.Отдельным подвидом class types являются классы-перечисления: enum
(enumerators). О них будет отдельный урок.
array types - массив является специальным типом. Он предназначен для содержания в себе любых других типов, в том числе и массивов (многомерные массивы). За это он и определен в отдельный вид. С массивами мы познакомимся ближе, в четвертом модуле.
interface - это третий специальный вид типов - пока просто запоминаем. Детально рассмотрим их далее по курсу, чтобы не перегружать этот, и так сложный, урок.
Откуда берутся эти все не примитивные типы: любой класс в java, включая написанный вами, является ссылочным типом (не примитивом), который можно применять в других классах.
Все ссылочные типы обязательно пишутся с большой буквы.
Рекомендую к прочтению, для лучшего понимания систем исчисления:
До Java 8 все примитивные типы были только подписанными (знаковыми). Но начиная c Java 8 Integer
и Long
могут быть не подписанными (unsigned). Но только не на уровне самих примитивов, а на уровне операций с ними. Есть полноценный API позволяющий выполнять все базовые операции над не подписанным (unsigned) числом, как то, например:
Для понимания знаковой/без-знаковой величины пример:
Java Virtual Machine Specification --> 2.3. Primitive Types and Values
Вам ответят команда поддержки Хекслета или другие студенты.
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно
Наши выпускники работают в компаниях:
Зарегистрируйтесь или войдите в свой аккаунт