Skip to content

Commit f23f1b7

Browse files
authored
Chapter 1: types
1 parent 6345c7d commit f23f1b7

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

tutorial/01_Hello_World.adoc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,3 +141,9 @@ public class SomeClass {
141141

142142
Попробуйте сами определить, может ли нестатический метод прочитать статическое поле.
143143

144+
=== Типы
145+
146+
Язык Java имеет статическую типизацию. Это значит, что тип любой переменной, параметра, поля, результата функции известен на момент компиляции программы либо выводится во время компиляции программы. Типы бывают разные и делятся на две большие группы:
147+
148+
* *Примитивных* типов всего восемь: четыре целочисленных `int`, `long`, `short`, `byte`; два с плавающей точкой `double` и `float`; логический `boolean`; символьный `char`. Имена примитивных типов записываются со строчной буквы, все они являются ключевыми словами Java (то есть такие же имена нельзя, например, давать переменным). К этой же группе можно условно отнести псевдо-тип `void`, который обозначает отсутствие какого-либо типа. Тип результата функции записывается перед её именем, для функции `main` это как раз `void`, то есть результат у функции `main` отсутствует.
149+
* *Ссылочных* типов может быть неограниченное количество. Их принципиальное отличие от примитивных состоит в том, что в *стеке* для подобных переменных хранится не значение, а ссылка на участок *кучи*, где уже хранится сам объект. Ссылочные типы могут быть описаны классом, или являться массивом (который в свою очередь может хранить примитивные или ссылочные элементы). В функции `main` тип параметра `args` задан как `String[]` -- обратите внимание, что тип здесь тоже находится перед именем, это общее правило для Java. `String` -- это строковый тип, определяемый библиотечным классом `String`. `String[]` -- это массив строк.

0 commit comments

Comments
 (0)