Быстрая шпаргалка

Одна страница — самое важное.


Типы данных — минимум

byte   8бит  -128..127
short  16бит -32768..32767
int    32бит ~±2млрд
long   64бит ~±9*10^18  суффикс L
float  32бит дробное    суффикс f
double 64бит дробное точнее
boolean      true/false
char   16бит символ

Операторы — ловушки

int a = 10 / 3;      // 3  (целое!)
double b = 10 / 3;   // 3.0 (тоже целое — потом в double)
double c = 10.0 / 3; // 3.333 (правильно)
double d = (double) 10 / 3; // 3.333

int x = 5;
int y = x++;   // y=5, x=6  (постфикс — сначала присвоить)
int z = ++x;   // z=7, x=7  (префикс — сначала прибавить)

if / switch — когда что

// if — для диапазонов и сложных условий
if (x > 0 && x < 100) { ... }

// switch — для конкретных значений
switch (day) {
    case 1: ... break;
    default: ...
}

// switch-выражение (Java 14+) — без break
String s = switch (day) {
    case 1 -> "Пн";
    case 2 -> "Вт";
    default -> "?";
};

Циклы — когда что

// Известно число итераций
for (int i = 0; i < n; i++) { }

// Условие, количество неизвестно
while (condition) { }

// Хотя бы одно выполнение гарантировано
do { } while (condition);

// Перебор коллекции/массива
for (String s : list) { }

Массивы vs ArrayList

// Массив — фиксированный размер
int[] arr = new int[5];
int[] arr = {1, 2, 3};
arr.length;              // не метод!
arr[i];

// ArrayList — динамический
ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.get(0);
list.size();             // метод!
list.remove(0);

String — главное

s.equals(s2)            // сравнение (не ==!)
s.length()
s.charAt(i)
s.contains("x")
s.substring(2, 5)
s.split(",")
s.trim()
s.toUpperCase()
s.replace("a", "b")
Integer.parseInt(s)     // String → int
String.valueOf(n)       // int → String

Исключения — главное

try {
    // рискованный код
} catch (SpecificException e) {
    // обработка
} catch (Exception e) {
    // общий — после конкретного
} finally {
    // всегда выполняется
}

// Выброс
throw new IllegalArgumentException("сообщение");

// Объявление checked
public void method() throws IOException { }

ООП — минимум

public class Dog {
    private String name;          // поле

    public Dog(String name) {     // конструктор
        this.name = name;
    }

    public String getName() {     // геттер
        return name;
    }
}

class Husky extends Dog {         // наследование
    public Husky(String name) {
        super(name);              // конструктор родителя
    }

    @Override                     // переопределение
    public String getName() {
        return "Husky: " + super.getName();
    }
}

HashMap — рецепт подсчёта

// Подсчитать количество каждого элемента
HashMap<String, Integer> freq = new HashMap<>();
for (String word : words) {
    freq.put(word, freq.getOrDefault(word, 0) + 1);
}

Частые ошибки на экзамене

← Меню