Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
J
java_examples
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Patryk Czarnik
java_examples
Commits
5b11de5c
Commit
5b11de5c
authored
Nov 14, 2022
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Przykłady funkcji
parent
9958d4b3
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
200 additions
and
3 deletions
+200
-3
.gitignore
P01-JavaSE/.gitignore
+3
-0
BityIBajty.java
P01-JavaSE/src/main/java/pcz/p05_liczby/BityIBajty.java
+5
-2
Ciekawostki.java
P01-JavaSE/src/main/java/pcz/p05_liczby/Ciekawostki.java
+1
-1
Geometria.java
...java/pcz/p06_funkcje/gdyby_nie_bylo_static/Geometria.java
+15
-0
TestyGeometrii.java
...pcz/p06_funkcje/gdyby_nie_bylo_static/TestyGeometrii.java
+14
-0
Funkcje1_Void.java
...E/src/main/java/pcz/p06_funkcje/teoria/Funkcje1_Void.java
+43
-0
Funkcje2_Parametry.java
.../main/java/pcz/p06_funkcje/teoria/Funkcje2_Parametry.java
+31
-0
Funkcje3_Wynik.java
.../src/main/java/pcz/p06_funkcje/teoria/Funkcje3_Wynik.java
+54
-0
Narnia.java
P01-JavaSE/src/main/java/pcz/p06_funkcje/teoria/Narnia.java
+34
-0
No files found.
P01-JavaSE/.gitignore
View file @
5b11de5c
...
@@ -9,3 +9,6 @@
...
@@ -9,3 +9,6 @@
# IntelliJ configuration files
# IntelliJ configuration files
/.idea/
/.idea/
/*.iml
/*.iml
# Files produced by example programs
/silnia_100_tys.txt
P01-JavaSE/src/main/java/pcz/p05_liczby/BityIBajty.java
View file @
5b11de5c
...
@@ -2,14 +2,17 @@ package pcz.p05_liczby;
...
@@ -2,14 +2,17 @@ package pcz.p05_liczby;
public
class
BityIBajty
{
public
class
BityIBajty
{
/* Program wypisuje wartość zmiennej typu byte oraz jej zapis w pamięci w postaci ciągu 8 bitów, zwiększając w pętli wartość o 1.
* Widać zjawisko integer overflow: wartość +127 przechodzi w wartość -128.
* Dla zmiennych typu short, int, long jest analogicznie; różnica jest w długości ciągu bitów (16, 32 i 64) i zakresie liczb.
*/
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
"Zwiększanie bajta:"
);
System
.
out
.
println
(
"Zwiększanie bajta:"
);
byte
b
=
0
;
byte
b
=
0
;
for
(
int
i
=
1
;
i
<=
260
;
i
++)
{
for
(
int
i
=
0
;
i
<=
512
;
i
++)
{
String
bity
=
Integer
.
toBinaryString
(
Byte
.
toUnsignedInt
(
b
));
String
bity
=
Integer
.
toBinaryString
(
Byte
.
toUnsignedInt
(
b
));
bity
=
String
.
format
(
"%8s"
,
bity
);
bity
=
String
.
format
(
"%8s"
,
bity
);
bity
=
bity
.
replace
(
' '
,
'0'
);
bity
=
bity
.
replace
(
' '
,
'0'
);
System
.
out
.
printf
(
"%4d : %s%n"
,
b
,
bity
);
System
.
out
.
printf
(
"%4d : %s%n"
,
b
,
bity
);
b
++;
b
++;
}
}
...
...
P01-JavaSE/src/main/java/pcz/p05_liczby/Ciekawostki.java
View file @
5b11de5c
...
@@ -25,7 +25,7 @@ public class Ciekawostki {
...
@@ -25,7 +25,7 @@ public class Ciekawostki {
System
.
out
.
println
(
"OK"
);
System
.
out
.
println
(
"OK"
);
}
else
{
}
else
{
System
.
out
.
println
(
"Nie OK"
);
System
.
out
.
println
(
"Nie OK"
);
System
.
out
.
println
(
3.6
-
3
*
1.2
);
System
.
out
.
println
(
"różnica: "
+
(
oczekiwany
-
a
*
b
)
);
}
}
System
.
out
.
println
();
System
.
out
.
println
();
...
...
P01-JavaSE/src/main/java/pcz/p06_funkcje/gdyby_nie_bylo_static/Geometria.java
0 → 100644
View file @
5b11de5c
package
pcz
.
p06_funkcje
.
gdyby_nie_bylo_static
;
public
class
Geometria
{
// W tej wersji metody geometryczne nie są static.
// Powoduje to konieczność utworzenia obiektu ("instancji") tej klasy, gdy ktoś chce użyć tych metod - zob. Program i Testy w tym pakiecie
double
poleKwadratu
(
double
a
)
{
return
a
*
a
;
}
double
poleKola
(
double
r
)
{
return
Math
.
PI
*
Math
.
pow
(
r
,
2
);
}
}
P01-JavaSE/src/main/java/pcz/p06_funkcje/gdyby_nie_bylo_static/TestyGeometrii.java
0 → 100644
View file @
5b11de5c
package
pcz
.
p06_funkcje
.
gdyby_nie_bylo_static
;
public
class
TestyGeometrii
{
public
static
void
main
(
String
[]
args
)
{
// ponieważ w tej wersji metody nie są static, to aby je wywołać trzeba utworzyć obiekt
// System.out.println("Pole kwadratu 5 = " + Geometria.poleKwadratu(5.0));
Geometria
geo
=
new
Geometria
();
System
.
out
.
println
(
"Pole kwadratu 5 = "
+
geo
.
poleKwadratu
(
5.0
));
System
.
out
.
println
(
"Pole koła 5 = "
+
geo
.
poleKola
(
5.0
));
}
}
P01-JavaSE/src/main/java/pcz/p06_funkcje/teoria/Funkcje1_Void.java
0 → 100644
View file @
5b11de5c
package
pcz
.
p06_funkcje
.
teoria
;
import
java.time.LocalTime
;
public
class
Funkcje1_Void
{
static
void
poczatek
()
{
// Funkcja typu void nie zwraca żadnego wyniku, tylko "coś robi"
System
.
out
.
println
(
"To jest funkcja początek"
);
System
.
out
.
println
(
"Funkcja początek kończy się"
);
}
static
void
nikt_mnie_nie_chce
()
{
// Jeśli funkcja nie jest wywoływana z main (bezpośrednio albo pośrednio), to
// jej treść się nie wykona.
System
.
out
.
println
(
"To się nigdy nie wypisze"
);
}
static
void
ktoraGodzina
()
{
System
.
out
.
println
(
"Godzina "
+
LocalTime
.
now
());
}
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
"Początek main"
);
poczatek
();
// wywołanie / invoke
for
(
int
i
=
0
;
i
<
10
;
i
++)
{
ktoraGodzina
();
}
koniec
();
}
// W Javie kolejność definicji metod (funkcji) nie ma znaczenia.
// Funkcja zdefiniowana wcześniej może wywoływać funkcję zdefiniowaną później.
static
void
koniec
()
{
System
.
out
.
println
(
"Koniec"
);
System
.
out
.
print
(
"Na koniec jest godzina: "
);
ktoraGodzina
();
// jedna funkcja może wywołać inną funkcję
}
}
P01-JavaSE/src/main/java/pcz/p06_funkcje/teoria/Funkcje2_Parametry.java
0 → 100644
View file @
5b11de5c
package
pcz
.
p06_funkcje
.
teoria
;
public
class
Funkcje2_Parametry
{
// Funkcja może mieć parametry:
static
void
zaprosNaKurs
(
String
jezyk
,
int
iloscDni
)
{
System
.
out
.
println
(
"Zapraszamy na kurs języka "
+
jezyk
+
", które będzie trwał "
+
iloscDni
+
" dni."
);
}
static
void
powtorz
(
String
napis
,
int
ilosc
)
{
for
(
int
i
=
1
;
i
<=
ilosc
;
i
++)
{
System
.
out
.
println
(
napis
);
}
}
public
static
void
main
(
String
[]
args
)
{
// Wywołując funkcję sparametryzowaną musimy przekazać wartości parametrów, czyli "argumenty".
zaprosNaKurs
(
"Java"
,
10
);
zaprosNaKurs
(
"Python"
,
10
);
zaprosNaKurs
(
"SQL"
,
4
);
System
.
out
.
println
();
// Zadeklarowane w funkcji: parametr, paramter formalny (formal parameter)
// Wartość przekazywana w wywołaniu: argument, parametr aktualny / bieżący (actual parameter)
powtorz
(
"Ala ma kota"
,
5
);
powtorz
(
"Ola ma psa"
,
3
);
}
}
P01-JavaSE/src/main/java/pcz/p06_funkcje/teoria/Funkcje3_Wynik.java
0 → 100644
View file @
5b11de5c
package
pcz
.
p06_funkcje
.
teoria
;
public
class
Funkcje3_Wynik
{
// Funkcja może zwrócić wynik:
static
int
liczba
()
{
return
13
;
}
static
int
dodaj
(
int
x
,
int
y
)
{
return
x
+
y
;
}
static
String
napis
()
{
return
"Hello world"
;
}
static
String
powitanie
(
String
imie
)
{
return
"Witaj "
+
imie
+
", miło Cię poznać"
;
}
// Funkcja może zawierać wiele instrukcji return w różnych miejscach. Np. w zależości od warunku zwróć jedno lub drugie.
// Kompilator Javy sprawdza jednak, czy funkcja zwraca wynik w każdej sytuacji.
static
int
roznicaBezwzgledna
(
int
x
,
int
y
)
{
if
(
x
>=
y
)
{
return
x
-
y
;
}
else
{
return
y
-
x
;
}
}
public
static
void
main
(
String
[]
args
)
{
liczba
();
// Czy liczba 13 wypisze się na ekran? NIE
// To, że funkcja zwraca wynik, oznacza, że np. można ten wynik zapisać na zmienną:
int
wynik
=
liczba
();
System
.
out
.
println
(
"Funkcja zwróciła wynik "
+
wynik
);
// dopiero tutaj
wynik
=
dodaj
(
13
,
12
);
System
.
out
.
println
(
"Dodawanie zwróciło wynik "
+
wynik
);
String
napis
;
napis
=
powitanie
(
"Ala"
);
System
.
out
.
println
(
"Powitanie 1: "
+
napis
);
napis
=
powitanie
(
"Karol"
);
System
.
out
.
println
(
"Powitanie 2: "
+
napis
);
String
s
=
"Ola"
;
napis
=
powitanie
(
s
);
System
.
out
.
println
(
"Powitanie 2: "
+
napis
);
}
}
P01-JavaSE/src/main/java/pcz/p06_funkcje/teoria/Narnia.java
0 → 100644
View file @
5b11de5c
package
pcz
.
p06_funkcje
.
teoria
;
public
class
Narnia
{
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
"Wszyscy są w domu"
);
System
.
out
.
println
(
"Łucja chowa się w pokoju z szafą"
);
wejdzDoSzafy
(
"Łucja"
);
System
.
out
.
println
(
"Łucja wróciła do domu"
);
wejdzDoSzafy
(
"Łucja"
,
"Zuzanna"
,
"Piotr"
,
"Edmund"
);
System
.
out
.
println
(
"Po wyeliminowaniu czarownicy wszyscy wrócili do domu."
);
String
[]
kolejneOsoby
=
{
"Ala"
,
"Ola"
,
"Ela"
};
wejdzDoSzafy
(
kolejneOsoby
);
}
// varargs - zmienna liczba argumentów
// taki parametr z trzema kropkami może występować tylko 1, na samym końcu listy parametrów
// wewnątrz funkcji on jest widziany jako tablica
// a z zewnątrz można przekazać 1 tablicę albo wiele elementów po przecinku
static
void
wejdzDoSzafy
(
String
...
kto
)
{
System
.
out
.
println
();
System
.
out
.
println
(
"Do Krainy Narni weszli:"
);
for
(
String
imie:
kto
)
{
System
.
out
.
println
(
" * "
+
imie
);
}
System
.
out
.
println
(
"Mają ciekawe przygody"
);
System
.
out
.
println
(
"I w końcu wracają"
);
System
.
out
.
println
();
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment