Это - "виртуальный" курс. В действительности он никогда не читался и читаться не будет. Это подборка материала, который предшествует "реальному" читаемому курсу Java Core - II.
Типы данных
1. Примитивы
1.1 Целочисленные примитивы (byte, short, char, int, long)
1.1.0 two's complement binary form
1.1.1 Переполнение int/long по сложению/умножению
1.1.2 Выход по арифметическим операциям над byte/char/short в int
1.1.3 Деление на 0
1.1.4 Остаток от деления, целочисленное деление (+отрицательные)
1.1.5 Битовые операции
1.1.6 Префиксный/постфиксный инкремент/декремент (префиксная, инфиксная, постфиксная запись), стековая машина
1.1.7 Расширение: BigInteger
1.2 Примитивы с плавающей точкой (float, double)
1.2.1 Переполнение float/double по сложению/умножению
1.2.2 "Эзотерические" значения: NaN, PosInf, NegInf, +0, -0
1.2.3 strictfp
1.2.4 Расширение: BigDecimal
1.3 Boolean
1.3.1 true, false (?null)
1.3.2 BitSet
1.4 Арифметика с фиксированной точкой
2. Обертки
2.1 Для коллекций
2.2 Наличие null
2.3 Boxing/unboxing
2.1.1 Кэширование
3. Массивы
3.1 Поле length, размещение в памяти, массивы массивов
3.2 Утилиты: arraycopy, toString(byte[])
4. Строки
8.1 Типичные методы
8.2 Немутабельность, причины
8.3 Как устроена (эволюция)
8.4 Кодировки
Управляющие конструкции
4. Условные выражения (&, |, &&, ||, ~, !, ^)
5. switch
6. Циклы
5.1 for
5.2 while
5.3 do..while
5.4 break, continue
5.5 выход по метке, goto
7. Рекурсия
7.1 Локальные переменные
7.2 Порядок вычисления аргументов
Алгоритмы и структуры данных
100. Массивы, циклы
- сортировки
- бинарные поиск
- бинарная куча
100. Массивы, рекурсия
- сортировки
100. Динамические структуры данных
- односвязные список
- двусвязные список
- бинарное дерево
-------------------------------------------------Целочисленные примитивы (byte, short, char, int, long)
public static int signum(int i) {
return (i >> 31) | (-i >>> 31);
}
public static int rotateRight(int i, int distance) {
return (i >>> distance) | (i << -distance);
}
public static int rotateLeft(int i, int distance) {
return (i << distance) | (i >>> -distance);
}
public static int lowestOneBit(int i) {
return i & -i;
}
parseInt()
toString()
Типы данных
1. Примитивы
1.1 Целочисленные примитивы (byte, short, char, int, long)
1.1.0 two's complement binary form
1.1.1 Переполнение int/long по сложению/умножению
1.1.2 Выход по арифметическим операциям над byte/char/short в int
1.1.3 Деление на 0
1.1.4 Остаток от деления, целочисленное деление (+отрицательные)
1.1.5 Битовые операции
1.1.6 Префиксный/постфиксный инкремент/декремент (префиксная, инфиксная, постфиксная запись), стековая машина
1.1.7 Расширение: BigInteger
1.2 Примитивы с плавающей точкой (float, double)
1.2.1 Переполнение float/double по сложению/умножению
1.2.2 "Эзотерические" значения: NaN, PosInf, NegInf, +0, -0
1.2.3 strictfp
1.2.4 Расширение: BigDecimal
1.3 Boolean
1.3.1 true, false (?null)
1.3.2 BitSet
1.4 Арифметика с фиксированной точкой
2. Обертки
2.1 Для коллекций
2.2 Наличие null
2.3 Boxing/unboxing
2.1.1 Кэширование
3. Массивы
3.1 Поле length, размещение в памяти, массивы массивов
3.2 Утилиты: arraycopy, toString(byte[])
4. Строки
8.1 Типичные методы
8.2 Немутабельность, причины
8.3 Как устроена (эволюция)
8.4 Кодировки
Управляющие конструкции
4. Условные выражения (&, |, &&, ||, ~, !, ^)
5. switch
6. Циклы
5.1 for
5.2 while
5.3 do..while
5.4 break, continue
5.5 выход по метке, goto
7. Рекурсия
7.1 Локальные переменные
7.2 Порядок вычисления аргументов
Алгоритмы и структуры данных
100. Массивы, циклы
- сортировки
- бинарные поиск
- бинарная куча
100. Массивы, рекурсия
- сортировки
100. Динамические структуры данных
- односвязные список
- двусвязные список
- бинарное дерево
-------------------------------------------------Целочисленные примитивы (byte, short, char, int, long)
public static int signum(int i) {
return (i >> 31) | (-i >>> 31);
}
public static int rotateRight(int i, int distance) {
return (i >>> distance) | (i << -distance);
}
public static int rotateLeft(int i, int distance) {
return (i << distance) | (i >>> -distance);
}
public static int lowestOneBit(int i) {
return i & -i;
}
parseInt()
toString()