Вы находитесь на странице: 1из 4

Основы JAVA

Вывод производится при помощи команд:


System.out.println(“текст1”); - перенесет текст2 на след. строку
System.out.print(“текст2”); - не переносит след. строку

Комментарии здесь, как и везде // и /* */.


Конкатенация строк (и не только) здесь происходит через +.
Условия как везде, кроме else if.
Сравнение строк на равенство производится при помощи команды
s1.equals(s2). Вернет true, если они одинаковы. Сравнивать строки при
помощи == нельзя, так как String – это ссылочный тип.
Тернарный оператор как и везде, также и приведение типов.
Циклы while, for как и везде.
Массив в java создается следующим образом:
double[] a; // объявление массива, содержащего действительные числа
int[] b = new int[20]; // объявление и инициализация массива, содержащего 20
целых чисел
char[] c = {'c', 'a', 't'}; // объявление массива, содержащего символы и его
заполнение, здесь заранее не известна его длина

Чтобы получить длину массива, используется arr.length, а чтобы получить


длину строки используется str.length().
Создание двумерного массива в java:
int n = 5;
int m = 6;
int[][] arr = new int[n][m];

При сравнении ссылочных типов данных (String, array, например),


сравниваются их адреса, а из-за того, что две разных переменных имеют
разные адреса, то и результатом сравнения будет false. При присваивании их
друг другу, присваиваются ссылки на место в памяти.
Объект String является неизменяемым (immutable). То есть при любых
операциях над строкой, которые изменяют эту строку, фактически будет
создаваться новая строка. Значение null не эквивалентно пустой строке.

Список строк можно создать следующим образом:


ArrayList<String> list = new ArrayList<>();

Реализация for in в java, где r – элемент коллекции mas:


int[] mas = {1, 6, 4, 3, 9, 4, 5, 2, 1};
for(int r: mas){
System.out.println(r);
}

Сравнивать значения в ссылочных типах данных через == нельзя!


Коллекция HashMap представляет собой словарь (ассоциативный массив в
PHP). Объявляется, как и список.
Коллекция HashSet представляет собой множество (неупорядоченный набор
уникальных элементов).
Оператор return, как и везде, возвращает значение с типом, указанным в
объявлении функции. При помощи просто return; можно завершить
выполнение функции void.

Инкапсуляция, как и в php: public, private, protected.


Наследование также, как и в php: class Name extends Base {}.
Чтобы обратиться в производном классе к базовому используется выражение
super(). Оно вызывает конструктор базового класса.
При помощи слова final можно запретить наследоваться от класса, или
переопределять метод: public final class Class {}.
В статических методах можно вызывать только другие статические методы и
использовать только статические переменные.
Статический инициализатор предназначен для выполнения действий,
которые выполняются при создании самого первого экземпляра:
static int counter;
static{
counter = 105;
System.out.println("Static initializer");
}

К абстрактным классам (с ключевым словом abstract), нельзя применить


модификатор final, т.к. это взаимоисключающие понятия.
Статические поля, даже если имеют слово final, необходимо
инициализировать в статическом инициализаторе Static {}.
Абстрактный класс может содержать абстрактные методы. Такие методы
определяются с помощью ключевого слова abstract и не имеют никакой
реализации (но если нужно, то могут). Производный класс обязан
переопределить и реализовать все абстрактные методы, которые имеются в
базовом абстрактном классе.
При помощи слова default можно создать метод в интерфейсе, который
можно сразу реализовать, и в производных классах он будет реализован по
умолчанию, то есть его переопределять не нужно (но можно).
В Java имеется множество различных типов исключений, и можно
разграничить их обработку, включив дополнительные блоки catch:
int[] numbers = new int[3];
try {
numbers[6]=45;
numbers[6]=Integer.parseInt("gfd");
}
catch(ArrayIndexOutOfBoundsException ex){
System.out.println("Выход за пределы массива");
}
catch(NumberFormatException ex){
System.out.println("Ошибка преобразования из строки в число");
}
Поток ввода – это объект, из которого можно считать данные. Поток вывода
– это объект, в который можно записывать данные.
Четыре абстрактных класса, управляющих потоками байтов и символов:
 InputStream (представляющий потоки ввода)
 OutputStream (представляющий потоки вывода)
 Reader (для чтения потоков символов)
 Writer (для записи потоков символов)

Полиморфизм – это когда один и тот же метод в разных классах может быть
реализован разными способами. То есть, к примеру, объекту нужно
добраться из точки А в точку Б, при этом в разных классах он может делать
это разными способами, но результат будет один и тот же.

Вам также может понравиться