3_operacje.pdf
(
79 KB
)
Pobierz
648110944 UNPDF
III Operacje wykonywane na zmiennych
operatory arytmetyczne
operatory inkrementacji i dekrementacji
operatory logiczne
operatory porównania
III.1 Operatory arytmetyczne
Operatory arytmetyczne słu»¡ do wykonywania operacji na zmiennych liczbowych
a)
*
- operator mno»enia
b)
/
- operator dzielenia
c) +
- operator dodawania
d)
-
- operator odejmowania
e)
%
- operator dzielenia modulo
f) ++
- operator inkrementacji (zwi¦kszania o 1)
g)
--
- operator dekremenatcji (zmniejszania o 1)
Niektóre operatory arytmetyczne mo»na poł¡czy¢ z instrukcj¡ przypisania:
instrukcja ”+=”
i+=10;
jest równowa»na
i=i+10;
instrukcja ”*=”
i*=10;
jest równowa»na
i=i*10;
instrukcja ”/=”
i/=10;
jest równowa»na
i=i/10;
instrukcja ”
i%=10;
jest równowa»na
i=i%10;
Przykład zastosowania pierwszych 5 operatorów:
1
1
class operatory
2
{
3
public static void main(String args[])
4
{
5
int a,b,c;
6
a=10;
7
b=3;
8
9
c=a+b;
10
System.out.println("dodawanie c=a+b="+c);
11
12
c=b-a;
13
System.out.println("odejmowanie c=b-a="+c);
14
15
c=a*b;
16
System.out.println("dodawanie c=a*b="+c);
17
18
c=a/b;
19
System.out.println("dodawanie c=a/b="+c);
20
21
c=a%b;
22
System.out.println("dodawanie c=a%b="+c);
23
}
24
}
Uwagi:
Dzielenie dwóch liczb całkowitych daje w wyniku te» liczb¦ całkowit¡. Je±li reszta z dzielenia jest ró»na
od 0 to jest ona ucinana. Java zaokr¡gla wynik ”w dół”.
i nieco inny przykład pokazuj¡cy jak kolejno±¢ wykonywania oblicze« wpływa na wynik:
1
class operatory2
2
{
3
public static void main(String args[])
4
{
5
int a,b,c;
6
a=10;
7
b=3;
8
c=a%b%b;
9
System.out.println("dodawanie c=a%b%b="+c);
10
11
c=a/b*b;
12
System.out.println("dodawanie c=a/b*b="+c);
13
14
c=a*b/b;
15
System.out.println("dodawanie c=a*b/b="+c);
16
}
17
}
Uwagi:
w instrukcji:
a%b%b
mamy dwa równowa»ne operatory, wi¦c działanie jest przeprowadzane od lewej do
prawej
podobnie jest w przypadku drugim i trzecim, dlatego ich wyniki ró»ni¡ si¦
co si¦ stanie je±li u»yjemy nawiasów:
a%(b%b)
? jaki bł¡d zgłosi Java?
III.1.1 Przepełnienie
Czasem mo»e doj±¢ do sytuacji, w której dokonujemy operacji arytmetycznej na zmiennej i w rezultacie staramy
si¦ przypisa¢ jej warto±¢ liczbow¡ wi¦ksz¡ ni» dopuszcza to zadeklarowany typ. Taki przypadek pokazuje poni»szy
przykład:
2
1
class overflow
2
{
3
public static void main(String args[])
4
{
5
int i=2147483647;
6
System.out.println("przepelnienie w \"gore\"");
7
System.out.println(i++);
8
System.out.println(i);
9
10
i=-2147483648;
11
System.out.println("przepelnienie w \"dol\"");
12
System.out.println(i--);
13
System.out.println(i);
14
}
15
}
III.2 Operatory inkrementacji i dekrementacji
Operatory inkrementacji i dekrementacji mog¡ wyst¦powa¢ w wersji przedrostkowej, np.:
int i=10,k;
k=++i;
k=--i;
wówczas warto±¢ zmiennej
i
jest najpierw zwi¦kszana(lub zmniejszana) o 1 a nast¦pnie u»ywana. Oraz w wersji
przyrostkowej, np.:
int i=10,k;
k=i++;
k=i--;
w tym przypadku zmienna
i
jest najpierw wykorzystana do obliczenia warto±ci wyra»enia a nast¦pnie jej warto±¢
jest zwi¦kszana(lub zmniejszana) o 1.
Przykład:
1
class ikn
2
{
3
public static void main(String args[])
4
{
5
int i=10,k;
6
7
System.out.println(++i);
8
System.out.println(i++);
9
System.out.println(i);
10
11
k=i++;
12
System.out.println(k);
13
k=++i;
14
System.out.println(k);
15
16
}
17
}
III.3 Operatory logiczne
Operatory logiczne:
&&
- iloczyn (AND)
||
- suma (OR)
!
- negacja (NOT)
3
Krótki przykład ich zastosowania:
1
class log
2
{
3
public static void main(String args[])
4
{
5
boolean a=true,b=false;
6
7
System.out.println("a= "+a);
8
System.out.println("b= "+b);
9
10
System.out.println("a&&b= "+(a&&b));
11
System.out.println("a||b= "+(a||b));
12
System.out.println("!b= "+(!b));
13
System.out.println("!a= "+(!a));
14
}
15
}
III.4 Operatory porównania
Operatory porównania s¡ dwuargumentowe i słu»¡ oczywi±cie do porównywania. Wynikiem jest prawda (
true
)
lub fałsz(
false
). W Javie operatory te s¡ zdefiniowane nast¦puj¡co:
==
=
true
je±li argumenty s¡ równe,
false
je±li nie
!=
=
false
je±li argumenty s¡ równe,
true
je±li nie
>
=
true
je±li argument lewostronny jest wi¦kszy od prawostronnego
<
=
true
je±li argument lewostronny jest mniejszy od prawostronnego
>=
=
true
je±li argument lewoostronny jest wi¦kszy lub równy prawostronnemu
<=
=
true
je±li argument lewostronny jest mniejszy lub równy prawostronnemu
Przykład:
1
class por
2
{
3
public static void main(String args[])
4
{
5
int a=10,b=20;
6
boolean wynik,t=false;
7
8
System.out.println("a>b= "+(a>b));
9
System.out.println("a<b= "+(a<b));
10
System.out.println("a==b= "+(a==b));
11
System.out.println("a<=b= "+(a<=b));
12
System.out.println("a>=b= "+(a>=b));
13
14
wynik=(a>b)||t;
15
System.out.println("(a>b)||t= "+wynik);
16
17
wynik=(a>b)&&t;
18
System.out.println("(a>b)&&t= "+wynik);
19
20
wynik=!((a>b)||t);
21
System.out.println("!((a>b)||t)= "+wynik);
22
}
23
}
4
Plik z chomika:
bolewice
Inne pliki z tego folderu:
Zalacznik_Cwicz2_PP_arytmet_logika.pdf
(133 KB)
zajecia2JTP.pdf
(181 KB)
wyklad3.pdf
(122 KB)
wstep_do_javy.pdf
(1979 KB)
wprowadzenieJava.pdf
(1229 KB)
Inne foldery tego chomika:
Delphi(object pascal)
HTML
Zgłoś jeśli
naruszono regulamin