Podstawowe elementy języka :, zmienna, stała, operator, wyrażenie, instrukcja. Typy danych języka Java i związane z nimi operatory.
Identyfikator (nazwa).
Nazwa może być zbudowana z liter, cyfr i znaku "_" (jest traktowany jako litera). Można używać polskich liter, ale ze względu na przenośność nie jest to zalecane. Nie ma ograniczeń na długość nazwy. Nazwa musi być różna od słów : null, false, true i wszystkich słó kluczowych.
Słowa kluczowe języka Java :
abstract |
continue |
for |
new |
switch |
assert |
default |
if |
package |
synchronized |
boolean |
do |
goto |
private |
this |
break |
double |
implements |
protected |
throw |
byte |
else |
import |
public |
throws |
case |
enum |
instanceof |
return |
transient |
catch |
extends |
int |
short |
try |
char |
final |
interface |
static |
void |
class |
finally |
long |
strictfp |
volatile |
const |
float |
native |
super |
while |
Typy dzielą się na :
proste ( pierwotne)
logiczny
całkowitoliczbowe ( byte, short, int, long, char )
zmiennopozycyjne (float, double)
obiektowe ( referencyjne, odnośnikowe)
klasowe
interfejsowe
tablicowe
Literały ( wartości bezpośrednie) :
znaki - 'A' '+' '\n'
napisy - "To jest napis"
liczby całowite - 1 123 -17
długie liczby całkowite - 132789 -2000000 1L
liczby rzeczywiste - 1.009 -123.0 2F 1.203e-6 1e3
liczby całkowite w zapisie szesnastkowym - 0x10 0xF
liczby całkowite w zapisie ósemkowym - 011 07
wartości logiczne - false true
pusta wartość referencyjna - null
Znaki specjalne używane w wydrukach ( wpisywane bezpośrednio w tekst lub wysyłane jako oddzielny znak ).
Znak |
Interpretacja |
\a |
alarm (sygnał dźwiękowy , "beep" ) |
\b |
cofnięcie o jeden znak (backspace) |
\f |
przejście na początek następnej strony (formfeed) |
\n |
przejście na początek następnej strony (newline) |
\r |
przejście na początek bieżącej linii ( powrót karetki) |
\t |
przejście do następnej pozycji tabulacji w linii |
\v |
przejście do następnej pozycji tabulacji pionowej |
\\ |
znak \ (backslash) |
\' |
znak ' (apostrof) |
\" |
znak " (cudzysłów) |
\0 |
znak pusty (null) |
\ooo |
znak o kodzie podanym jako liczba ósemkowa ( \241) |
\uoooo |
znak o kodzie podanym jako liczba szesnastkowa ( \ua241) |
Zakresy wartości dla podstawowych typów liczbowych:
Typ danych |
zakres wartości |
byte |
-128 : 127 |
short |
-32768 : 32767 |
int |
-2147483648 : 2147483647 |
long |
-9223372036854775808L : 9223372036854775807L |
float |
1.401298464324817E-45f : 3.4028234663852886E38f |
double |
4.9E-324 : 1.7976931348623157E308 |
Zmienne.
Deklaracje zmiennych prostych :
int m = 5; lub int m;
m=5;
Deklaracje zmiennych referencyjnych :
Czas czas; // nie tworzy obiektu
Czas czas = new Czas(parametry_konstruktora) ; // tworzy obiekt
Deklaracje zmiennych tablicowych :
int [] tablica; lub int tablica[]; // nie tworzy tablicy
int [] tablica = new int[liczba_elementów];
Uwaga : zmienne są widoczne tylko w bloku w którym została zadeklarowana i wszystkich blokach wewnętrznych ( na zewnątrz nie).
Operator
realizuje pewną funkcję (działanie) na związanych z nim
argumentach.
W języku Java występują operatory jedno-,
dwu- i trójargumentowe.
Operator może być zapisany
przed swoimi argumentami - notacja prefiksowa (przedrostkowa), za
argumetami - notacja postfiksowa (przyrostkowa) lub w przypadku dwu
argumentów pomiędzy nimi - notacja infiksowa (wrostkowa).
Jeżeli
argument jest w zasięgu działania kilku operatorów o kolejności
wykonywania działań decyduje ustalony priorytet
tych operatorów (priorytety operatorów w językach programowania
zachowują konwencje stosowane w matematyce).
W
przypadku, gdy operatory mają taki sam priorytet, działania
realizowane są w kolejności od lewej do prawej lub odwrotnie, w
zależności od wiązania
prawego (prawostronnego) lub lewego (lewostronnego).
Poniższa
tabela przedstawia operatory stosowane w języku Java.
Priorytet |
Wiązanie |
Operator |
Argumenty |
Notacja |
Nazwa |
Typ |
1 |
Prawe |
! |
1 |
Prefiksowa |
Negacja |
Logiczny |
1 |
Prawe |
~ |
1 |
Prefiksowa |
Dopełnienie do 1 |
Bitowy |
1 |
Prawe |
+ |
1 |
Prefiksowa |
Jednoargumentowy + |
Arytmetyczny |
1 |
Prawe |
- |
1 |
Prefiksowa |
Jednoargumentowy - |
Arytmetyczny |
1 |
Prawe |
++ |
1 |
Prefiksowa, postfiksowa |
Zwiększenie o 1 |
Arytmetyczny |
1 |
Prawe |
-- |
1 |
Prefiksowa, postfiksowa |
Zmiejszenie o 1 |
Arytmetyczny |
1 |
Prawe |
(typ) |
1 |
Prefiksowa |
Konwersja (rzutowanie) |
Specjalny |
2 |
Lewe |
* |
2 |
Infiksowa |
Mnożenie |
Arytmetyczny |
2 |
Lewe |
/ |
2 |
Infiksowa |
Dzielenie |
Arytmetyczny |
2 |
Lewe |
% |
2 |
Infiksowa |
Reszta |
Arytmetyczny |
3 |
Lewe |
+ |
2 |
Infiksowa |
Dodawanie, konkatenacja |
Arytmetyczny |
3 |
Lewe |
- |
2 |
Infiksowa |
Odejmowanie |
Arytmetyczny |
4 |
Lewe |
<< |
2 |
Infiksowa |
Przesunięcie w lewo |
Bitowy |
4 |
Lewe |
>> |
2 |
Infiksowa |
Przesunięcie w prawo |
Bitowy |
4 |
Lewe |
>>> |
2 |
Infiksowa |
Przesunięcie w prawo bez znaku |
Bitowy |
5 |
Lewe |
< |
2 |
Infiksowa |
Mniejsze |
Relacyjny |
5 |
Lewe |
<= |
2 |
Infiksowa |
Mniejsze równe |
Relacyjny |
5 |
Lewe |
> |
2 |
Infiksowa |
Większe |
Relacyjny |
5 |
Lewe |
>= |
2 |
Infiksowa |
Wieksze równe |
Relacyjny |
5 |
Lewe |
instanceof |
2 |
Infiksowa |
Stwierdzenie typu |
Specjalny |
6 |
Lewe |
== |
2 |
Infiksowa |
Równość |
Relacyjny |
6 |
Lewe |
!= |
2 |
Infiksowa |
Nierówność |
Relacyjny |
7 |
Lewe |
& |
2 |
Infiksowa |
Koniunkcja |
Bitowy |
8 |
Lewe |
^ |
2 |
Infiksowa |
Albo |
Bitowy |
9 |
Lewe |
| |
2 |
Infiksowa |
Alternatywa |
Bitowy |
10 |
Lewe |
&& |
2 |
Infiksowa |
Koniunkcja |
Logiczny |
11 |
Lewe |
|| |
2 |
Infiksowa |
Alternatywa |
Logiczny |
12 |
Prawe |
?: |
3 |
|
Warunek (if-else) |
Specjalny |
13 |
Prawe |
= |
2 |
Infiksowa |
Przypisanie |
Przypisanie |
13 |
Prawe |
*= |
2 |
Infiksowa |
Przypisanie z operacją |
Przypisanie |
13 |
Prawe |
/= |
2 |
Infiksowa |
Przypisanie z operacją |
Przypisanie |
13 |
Prawe |
%= |
2 |
Infiksowa |
Przypisanie z operacją |
Przypisanie |
13 |
Prawe |
+= |
2 |
Infiksowa |
Przypisanie z operacją |
Przypisanie |
13 |
Prawe |
-= |
2 |
Infiksowa |
Przypisanie z operacją |
Przypisanie |
13 |
Prawe |
&= |
2 |
Infiksowa |
Przypisanie z operacją |
Przypisanie |
13 |
Prawe |
^= |
2 |
Infiksowa |
Przypisanie z operacją |
Przypisanie |
13 |
Prawe |
|= |
2 |
Infiksowa |
Przypisanie z operacją |
Przypisanie |
13 |
Prawe |
<<= |
2 |
Infiksowa |
Przypisanie z operacją |
Przypisanie |
13 |
Prawe |
>>= |
2 |
Infiksowa |
Przypisanie z operacją |
Przypisanie |
13 |
Prawe |
>>>= |
2 |
Infiksowa |
Przypisanie z operacją |
Przypisanie |
|
|
new |
1 |
Prefiksowa |
Konkretyzacja |
Specjalny |
|
|
. |
|
|
Kwalifikator, selektor |
Specjalny |
|
|
[] |
|
|
Indeks |
Specjalny |
|
|
, |
|
|
Separator list (dekl. param.) |
Specjalny |
|
|
() |
|
|
Ogranicznik list parametrów |
Specjalny |
Wyrażenia.
Wyrażenia buduję się ze zmiennych, stałych, operatorów i nawiasów ( '(' i ')' ) służących do zmiany kolejności obliczeń.