[vc_row][vc_column][vc_column_text]Данная шпаргалка поможет Вам вспомнить все особенности языка Java.
Простейшая программа на Java
public class FirstSample { public static void main(String[] args) { System.out.println("Hello"); } }
Типы данных
Целочисленные
int — 4 байта
short — 2 байта
long — 8 байт
byte — 1 байт
С плавающей точкой
float — 4 байта
double — 8 байт
POSITIVE_INFINITY
NEGATIVE_INFINITY
NaN (not a number)
Символы
char — кодовая единица в кодировке UTF-16
Логический
boolean — true/false, преобразование в целочисленный тип и наоборот невозможно.
Переменную рекомендуется объявлять как можно ближе к тому месту кода, где предполагается ее использовать.
Константы
Для обозначения констант используется ключевое слово final. В названиях констант желательно использовать только прописные буквы. Константы, доступные только нескольким методам класса называются константами класса. Константы класса объявляются как static final.
Операции
/ — целочисленное деление если оба аргумента являются целыми числами. В противном случае — деление чисел с плавающей запятой.
% — остаток от деления целых чисел.
++/— — инкремент/декремент имеет префиксную и постфиксную форму. Различие проявляется только в выражениях. В префиксной форме сначала изменяется значение переменной, и для дальнейших вычислений уже используется новое значение, а в постфиксной форме используется старое значение этой переменной и лишь после данной операции оно изменяется.
Тернарная операция условия
условие ? выражение_1 : выражение_2 — если условие истинно, то вычисляется первое выражение, а если ложно — второе выражение.
Поразрядные операции
& — И
| — ИЛИ
^ — исключающее ИЛИ
~ — НЕ
<</>> — сдвиг ВЛЕВО/ВПРАВО
>> — заполняет старший бит нулями (>> — восстанавливает в старших разрядах знаковый бит).
Перечислимый тип
enum Size { SMALL, MEDIUM, LARGE, EXTRA_LARGE };
Size s = Size.MEDIUM;
Символьные строки
В JAVA отсутствует встроенный тип для символьных строк. Вместо этого в стандартной библиотеке содержится класс String. Каждая символьная строка, заключенная в кавычки, представляет собой экземпляр класса String. Объекты типа String являются неизменяемыми, т.е. постоянными.
Для проверки символьных строк на равенство нельзя применять операцию ==. Она лишь определяет, хранятся ли обе строки в одной и той же области памяти.
Чтение вводимых данных
Scanner in = new Scanner(System.in); String name = in.nextLine(); int age = in.netxInt();
Управляющие конструкции
if (a > b) { оператор; } else if (a < c) { оператор; } else { оператор; }
while (условие) оператор do оператор while (условие);
for (int i = 1; i <= 10; i++) { }
// В качестве метки ветви case может быть char, byte, short, int, классы-оболочки Character, Bte, Short, Integer, перечисляемые константы, строковые литералы. switch (choice) { case 1: .... break; case 2: ..... break; default: .... break; }
В отличие от C++ перегрузка операций в JAVA не поддерживается.
for (переменная : коллекция) оператор; // При выполнении этого цикла его переменной // последовательно присваивается каждый элемент коллекции, после чего выполняется оператор // или блок. В качестве коллекции может использоваться массив или экземпляр класса, // реализующего интерфейс Iterable, например ArrayList.
Копирование массивов
int[] destinationArray = sourceArray; destinationArray[6] = 13; // sourceArray[6] теперь тоже равен 13 // Переменные sourceArray и destinationArray ссылаются на один и тот же массив
Если необходимо скопировать все элементы одного массива в другой, то для этого необходимо вызвать метод copyTo() из класса Arrays.
int destinationArray[] = Arrays.copyOf(sourceArray, sourceArray.length * 2); // Первая половина элементов заполняется значениями sourceArray // Оставшиеся элементы заполняются нулями
Параметры командной строки
java paramExamples -x arg1 arg2
args[0] = "-x"
args[1] = "arg1"
В отличие от C++ при запуске программы на Java ее имя не сохраняется в массиве args.
Сортировка массивов
Сортировка массивов осуществляется путем путем вызова метода sort() из класса Arrays.
Произвольное число
Math.random() возвращает случайное число с плавающей точкой, находящееся в пределах [0; 1). У множение резульатата на число n дает случайное число, находящееся в пределах от 0 до n-1.
int result = (int)(Math.random() * n);
Многомерные массивы
double[][] temperature = new double[MONTHS][DAYS];
Неровные многомерные массивы
int[][] array = new int[NMAX+1][]; for (int i=0; i<=NMAX; n++) array[i] = new int[i+1]; // Размещение в памяти самих строк
double[][] balance = new double[10][6]; // Java
не равнозначно
double balance[10][6]; // C++
а равнозначно
double** balance = new double*[10]; // C++ for (i = 0; i < 10; i++) balance[i] = new double[6];