Ключови думи в Java
Типове данни
byte, short, int, long, float, double, char, boolean, void
Булеви стойности
true, false
Модификатори на достъпа
abstract, protected, private, public, final, static
Обработка на изключителни събития (грешки)
try, catch, finally, throw, throws
Наследяване на клас и реализация на интерфейс
extends, implements
Управление на изпълнението
if-else, do-while, for, break, continue, switch, case
Получаване и проверка на инстанция на обекти
this, instanceof
Защита на споделени ресурси
synchronized
Други
class, new, null, import, package
Категории данни в Java
Категория Тип на данните
Целочислени
byte, short, int, long
С плаваща запетая
float, double
Символи
char
Булеви
boolean
Тип на данните Размерност, бита Минимална стойност Максимална стойност
byte
8 -128 +127
short
16 -2
15
+2
15
-1
int
32 -2
31
+2
31
-1
long
64 -2
63
+2
63
-1
float
32 IEEE 754 IEEE 754
double
64 IEEE 754 IEEE 754
char
16 0 2
16
-1
boolean
1 (true / false) - -
Java оператори
Математически оператори
Това са едни от най-често използваните оператори: събиране (
+
), изваждане (
-
),
умножение(
*
), деление(
/
) и остатък от делението (
%
). Особеното при Java е, че
оператор
(+)
се използва и като оператор за слепване на низове.
Оператори за увеличаване и намаляване на стойност с 1
Към тази група спадат операторът за инкрементиране (
++
) и операторът за декре-
ментиране (
--
). Java позволява предварително (
++x
,
--y
) и пост (
x++
,
y--
)
инкрементиране и декрементиране.
Релационни оператори
Всички оператори от тази група връщат булев резултат: истина (
true
) или лъжа
(
false
): по-голямо (
>
), по-малко (
<
), по-голямо или равно (
>=
), по-малко или равно
(
<=
), равно (
==
), не равно (
!=
). Особеното при Java е, че когато се използват с
обекти, оператори “
==
“ и “
!=
“ сравняват техните референции, а не съдържанието
им. За да предотвратите евентуални проблеми, когато се налага да се сравнява
съдържание, трябва да се използва метод
equals
.
Логически оператори
Операторите от тази група винаги връщат булев резултат. Те са: логическо И
(
&&
), логическо ИЛИ (
||
), логическо отрицание (
!
). Най-честото им приложение е
за задаване на условието при конструкциите за управление на изпълнението.
Оператори за побитова работа
Тази група оператори реализират основните логически операции на ниво бит за
един или два операнда: И (
&
), ИЛИ (
|
), сума по модул 2 (
^
) и отрицание (
~
).
Оператори за побитово изместване
Тази група оператори работят с примитивни данни от тип
int
. Могат да се
използват и за
char
,
byte
и
short
, но в този случай описаните типове вътрешно
се преобразуват до
int
преди да се реализира преместването. Преместването на
определен брой битове е знаково (запазва се знака на входната данна) надясно (
>>
)
или наляво (
<<
). За разлика от C++ при Java се поддържа и беззнаково преместване
на дясно (
>>>
).
Други оператори
В тази група ще причислим по-често използваните оператори, които не са
описани до този момент:
• Троен оператор. Синтаксисът е:
(булев израз)
?
(стойност при истина)
:
(стойност при лъжа);
Ако булевият израз има стойност
true
се връща стойността на израза след
“
?
”, а в противен случай - стойността на израза след “
:
”, например:
int x2 = (x1 > 25) ? 100 : (x1+100);
Ако
x1
= 11, то стойността на
x2
ще бъде 111;
• Оператори за преобразуване на типа. Java позволява явно преобразуване на
типа на всички примитивни типове данни. Изключение правят булевите. За да
промените типа, в скоби преди името на променливата задавате името на
новия тип, например:
int x1 = 1000;
long x2 = (long)x1;
• Оператор за присвояване. Това е оператор (
=
). Java поддържа и съставно
присвояване с цел опростяване на записа на математически и логически
изрази, например:
int x1 += x2; //
този запис е еквивалентен на:
int x1 = x1 + x2;
Освен за събиране (
+
), този синтаксис може да се използва и с оператори: из-
важдане (
-
), умножение (
*
), деление (
/
), побитово умножение (
&
), побитово
ИЛИ (
|
) и побитова сума по модул 2 (
^
).
Java конструкции за управление на изпълнението
Конструкция
if-else
Когато желаете да разклоните по условие вашият код най-често ще използвате
тази конструкция. Нейният синтаксис е следния:
if (булев израз) {
// този код се изпълнява, ако булевият израз връща истина
} else {
// този код се изпълнява, ако булевият израз връща лъжа
}
Може да използвате
if
и без
else
, а може да използвате и колкото са необходи-
ми “
else if”
конструкции.
Итерационна конструкция
for
Това е най-често използваната конструкция за реализация на програмни цикли.
Синтаксисът е следния:
for (инициализация; условие за край; стъпка) {
// тяло на цикъла
}
В полето за инициализация се задават началните стойности на променливи, от
които зависи изходът от цикъла. Инициализацията се реализира преди първа
итерация.
Условието за край трябва да връща булев резултат. При лъжа се излиза от ци-
къла. Стойността на това поле се проверява преди всяка итерация.
Стъпката позволява промяна на стойността на променливи в края на всяка
итерация.
Java позволява всяко едно от тези полета да бъде оставено празно. Можете да
използвате множество променливи в полетата за инициализация и стъпка, стига те
да са от един тип. За разделяне на променливите се използва оператор “
,
“. Това
прави конструкцията
for
мощно средство за реализация на условни и безусловни
цикли.
Итерационна конструкция
while
Синтаксисът на конструкция
while
е следния:
while (условие) {
// тяло на цикъла - изпълнява се докато условието има стойност истина
}
Чрез
while(true)
може да се реализира безкраен цикъл.