Podstawy programowania w Javie. Cz. 3

Transkrypt

Podstawy programowania w Javie. Cz. 3
„Java EE – produkcja
oprogramowania”
PPJ – PODSTAWY PROGRAMOWANIA
W JAVIE
PODSTAWY JĘZYKA JAVA – 3
Warszawa, 2017L
2
Operatory,
rzutowanie typów,
zasięg zmiennych,
instrukcje warunkowe
Operatory
=
+
*
/
Kolejność wykonywania operacji od
lewej do prawej:
1. nawiasy,
2. mnożenie i dzielenie,
3. dodawania i odejmowanie.
Operator dzielenia działa inaczej dla typów całkowitoliczbowych
i zmiennoprzecinkowych.
Przykłady:
double a = 9.0 / 2.0;
// a = 4.5
int
b = 4 / 2;
// b = 2
int
c = 9 / 2;
// c = 4
double d = 9 / 2;
// d = 4.0
double x = 3 / 2 + 1;
// x = 2.0
double y = 3 / (2 + 1);
// y = 1.0
String five = 5;
// błąd kompilacji!
3
Przypisania:
Dodawania:
Odejmowania:
Mnożenia:
Dzielenia:
Rzutowanie w przypisaniach
int
a = 1;
double b = 1;
// a = 1
// b = 1.0,
// rzutowanie niejawne
int
c = 1.5;
double d = (int)1.75;
// błąd kompilacji!
// d = 1.0
OK
// rzutowanie jawne
double x = 1/3;
//
//
//
//
x = 0.0
dzielenie całkowitoliczbowe
y = 0.(3)
z = 0.(3)
4
double y = (double)1/3;
double z = 1./3;
1/2
Rzutowanie w argumentach
2/2
public static void square(int x){
System.out.println(x * x);
}
public static void main(String[] args){
Main.square("hello");
// błąd!
Main.square(5.5);
// błąd!
}
5
public static void square(double x){
System.out.println(x * x);
}
public static void main(String[] args){
Main.square(5);
// OK
}
Konwersja typów. Przykłady
int i = 1;
String str;
Przykład konwersji typu int na String:
str
str
str
str
=
=
=
=
i;
Integer.toString(i);
i + "";
String.valueOf(i);
// błąd!
Przykład konwersji typu String na int:
// błąd!
6
i = "1";
i = Integer.parseInt("1");
Zasięg zmiennych
1/2
Zasięg (ang. scope) zmiennych rozpoczyna się od instrukcji,
w której zostały zadeklarowane do końca bloku.
Parametry metod zachowują się tak samo jak zmienne
zadeklarowane w metodzie.
Przykład:
public static void main(String[] args) {
double a = 9.0 / 2.0;
System.out.println(a);
}
7
public static void square(double x){
System.out.println(x * x);
}
Zasięg zmiennych
2/2
Przesłanianie zmiennych.
Przykład:
static int x;
public static void scope(){
x = 1;
if (x == 1){
int x = 2;
System.out.println("x = " + x );
}
System.out.println("x = " + x );
// x = 2
// x = 1
8
}
Operatory porównania
Operatory porównania:
x > y, x < y, x <= y, x >= y, x == y
&& (koniunkcja), || (alternatywa), !(negacja)
Operatora == nie należy używać dla typu double !!!
Przykład:
9
double a = Math.cos (Math.PI / 2);
// a = 6.123233995736766E-17
double b = 0.0;
if ( a == b)
System.out.println(„a == b");
else
System.out.println(„a != b");
Instrukcja warunkowa if
if (warunek_logiczny) {
// instrukcje jeżeli warunek jest spełniony
}
Przykład:
10
public static void test(int x) {
if (x > 0) {
System.out.println(x + " > 0");
}
}
Instrukcja warunkowa if-else
if (warunek_logiczny) {
// instrukcje jeżeli warunek jest spełniony
}
else {
// instrukcje jeżeli warunek NIE jest spełniony
}
Przykład:
if (x > 0) {
System.out.println(x + " > 0");
}
else {
System.out.println(x + " <= 0");
}
}
11
public static void test(int x) {
Instrukcja warunkowa if-else if
1/2
12
if (warunek_logiczny_1) {
// instrukcje jeżeli warunek 1. jest spełniony
}
else if (warunek_logiczny_2) {
// instrukcje jeżeli NIE spełniony jest warunek 1.
// i warunek 2. jest spełniony
}
else {
// instrukcje w p.p.
}
Instrukcja warunkowa if-else if
2/2
Przykład:
public static void test(int x) {
if (x > 0) {
System.out.println(x + " > 0");
}
else if (x == 0) {
System.out.println(x + " == 0");
}
else {
System.out.println(x + " < 0");
}
13
}
Ćwiczenie
Napisz program do obliczania wynagrodzenia pracownika.
Wynagrodzenie zależy od liczby przepracowanych godzin.
Płaca minimalna 12 PLN / godz.
Norma tygodniowa 40 godzin.
Maksymalna liczba godzin pracy w tygodniu 60.
Nadgodziny płatne 150%.
14
•
•
•
•
•