Java шпаргалка. Часть 1. Основные конструкции и особенности

Данная шпаргалка поможет Вам вспомнить все особенности языка 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];

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *