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
589c3d44
Commit
589c3d44
authored
Nov 05, 2022
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Przykłady "zmienne"
parent
e566ce3a
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
349 additions
and
0 deletions
+349
-0
A_TeoriaZmiennych.java
...vaSE/src/main/java/pcz/p02_zmienne/A_TeoriaZmiennych.java
+58
-0
B_RodzajeZmiennych.java
...aSE/src/main/java/pcz/p02_zmienne/B_RodzajeZmiennych.java
+59
-0
C_Inicjalizacja.java
...JavaSE/src/main/java/pcz/p02_zmienne/C_Inicjalizacja.java
+37
-0
D_Zasieg.java
P01-JavaSE/src/main/java/pcz/p02_zmienne/D_Zasieg.java
+44
-0
Nazwy.java
P01-JavaSE/src/main/java/pcz/p02_zmienne/Nazwy.java
+45
-0
PolaFinal.java
P01-JavaSE/src/main/java/pcz/p02_zmienne/PolaFinal.java
+15
-0
SlowoVar.java
P01-JavaSE/src/main/java/pcz/p02_zmienne/SlowoVar.java
+43
-0
Typy.java
P01-JavaSE/src/main/java/pcz/p02_zmienne/Typy.java
+48
-0
No files found.
P01-JavaSE/src/main/java/pcz/p02_zmienne/A_TeoriaZmiennych.java
0 → 100644
View file @
589c3d44
package
pcz
.
p02_zmienne
;
public
class
A_TeoriaZmiennych
{
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
"Początek programu"
);
// Aby użyć zmiennej, trzeba ją zadeklarować.
//NK x = 15;
//NK System.out.println(x);
// Deklaracja zmiennej:
String
txt
;
int
x
,
innaZmienna
;
// Zmienne lokalne (czyli deklarowane wewnątrz metod)
// nie są automatycznie inicjowane na żadną wartość.
// Niezainicjowanych zmiennych lokalnych nie wolno odczytywać (błąd kompilacji).
//NK System.out.println(txt);
//NK System.out.println(x);
//NK x = 2 * x;
//NK x += 5;
// Instrukcja przypisania (assignment)
txt
=
"Ala"
;
x
=
25
;
System
.
out
.
println
(
x
);
// OK
System
.
out
.
println
(
txt
);
// OK
// ponowne przypisanie = zmiana wartości zmiennej
txt
=
"Ola"
;
x
=
x
+
1
;
System
.
out
.
println
(
x
);
// Rozszerzone operatory przypisania:
x
+=
4
;
// równoważne x = x + 4
System
.
out
.
println
(
x
);
// dostępne także dla innych operatorów
x
*=
2
;
System
.
out
.
println
(
x
);
System
.
out
.
println
();
// Zazwyczaj wartość zmiennej podaje się od razu w miejscu deklaracji (deklaracja z inicjalizacją):
int
y
=
100
,
z
=
200
;
String
miasto
=
"Warszawa"
;
System
.
out
.
println
(
y
+
z
);
System
.
out
.
println
(
miasto
);
// Typowe podejście Javy:
// Zmienne lokalne deklaruje się dopiero kiedy są potrzebne
// i od razu podaje się ich początkową wartość.
}
}
P01-JavaSE/src/main/java/pcz/p02_zmienne/B_RodzajeZmiennych.java
0 → 100644
View file @
589c3d44
package
pcz
.
p02_zmienne
;
//NK int globalna;
public
class
B_RodzajeZmiennych
{
// zmienna statyczna - istnieje jeden egzemplarz w pamięci
static
int
statyczna
=
10
;
// zmienna instancyjna (inaczej: pole, atrybut) należy do obiektu
// Każdy obiekt tej klasy, w której jesteśmy, będzie posiadał taką zmienną
int
instancyjna
=
20
;
public
static
void
main
(
String
[]
args
)
{
// zmienna lokalna, czyli deklarowana w obrębie metody
int
lokalna
=
30
;
metodaStatyczna
(
40
);
// metody instancyjnej nie da się wywołać w kontekście statycznym (np. w main)
// metodaInstancyjna(50);
// Trzeba utworzyć obiekt i wywołać tę metodę na obiekcie.
// Tworzę obiekt, czyli "instancję"
B_RodzajeZmiennych
obiekt
=
new
B_RodzajeZmiennych
();
obiekt
.
metodaInstancyjna
(
50
);
System
.
out
.
println
(
statyczna
);
System
.
out
.
println
(
obiekt
.
instancyjna
);
B_RodzajeZmiennych
innyObiekt
=
new
B_RodzajeZmiennych
();
innyObiekt
.
instancyjna
=
123
;
innyObiekt
.
metodaInstancyjna
(
33
);
}
static
void
metodaStatyczna
(
int
parametr
)
{
int
lokalna
=
60
;
System
.
out
.
println
(
"metodaStatyczna:"
);
System
.
out
.
println
(
"statyczna: "
+
statyczna
);
// m "kontekście statycznym", czyli w metodzie statycznej nie ma dostępu do zmiennych instancyjnych,
// bo "nie wiemy w jakim obiekcie"
//NK System.out.println("instancyjna: " + instancyjna);
System
.
out
.
println
(
"lokalna: "
+
lokalna
);
System
.
out
.
println
(
"parametr: "
+
parametr
);
System
.
out
.
println
();
}
void
metodaInstancyjna
(
int
parametr
)
{
int
lokalna
=
70
;
System
.
out
.
println
(
"metodaInstancyjna:"
);
System
.
out
.
println
(
"statyczna: "
+
statyczna
);
System
.
out
.
println
(
"instancyjna: "
+
instancyjna
);
System
.
out
.
println
(
"lokalna: "
+
lokalna
);
System
.
out
.
println
(
"parametr: "
+
parametr
);
System
.
out
.
println
();
}
}
P01-JavaSE/src/main/java/pcz/p02_zmienne/C_Inicjalizacja.java
0 → 100644
View file @
589c3d44
package
pcz
.
p02_zmienne
;
public
class
C_Inicjalizacja
{
// zmienne statyczne - inicjowane domyślnie na 0, false lub null
static
int
st
;
// zmienne instancyjne - inicjowane domyślnie na 0, false lub null
int
inst
;
public
static
void
main
(
String
[]
args
)
{
// zmienne lokalne - nie są automatyczne inicjowane
int
lokalna
;
System
.
out
.
println
(
st
);
// 0
//NK System.out.println(inst); // próba dostępu do zmiennej niestatycznej w kontekście statycznym
C_Inicjalizacja
obiekt
=
new
C_Inicjalizacja
();
System
.
out
.
println
(
obiekt
.
inst
);
// 0
// błąd kompilacji - aby odczytać zmienną lokalną, musi zostać wcześniej zainicjalizowana (w taki sposób, żeby kompilator miał pewność)
//NK System.out.println(lokalna);
if
(
st
>=
0
)
{
lokalna
=
13
;
System
.
out
.
println
(
lokalna
);
// OK - tu zmienna "na pewno jest zainicjowana"
}
//NK System.out.println(lokalna); // tutaj wg kompilatora "może być niezainicjowana"
if
(
st
>=
0
)
{
lokalna
=
10
;
}
else
{
lokalna
=
20
;
}
System
.
out
.
println
(
lokalna
);
// OK
}
}
P01-JavaSE/src/main/java/pcz/p02_zmienne/D_Zasieg.java
0 → 100644
View file @
589c3d44
package
pcz
.
p02_zmienne
;
public
class
D_Zasieg
{
static
int
x
;
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
"A: "
+
x
);
x
=
100
;
System
.
out
.
println
(
"B: "
+
x
);
int
x
=
500
;
System
.
out
.
println
(
"C: "
+
x
);
metoda
();
System
.
out
.
println
(
"I: "
+
x
);
}
static
void
metoda
()
{
// w tym miejscu nie widać lokalnych zmiennych z innych metod (np. main)
// a widać zmienne z poziomu klasy ("globalne")
System
.
out
.
println
(
"D: "
+
x
);
if
(
x
>
0
)
{
String
x
=
"700"
;
System
.
out
.
println
(
"E: "
+
x
);
}
System
.
out
.
println
(
"F: "
+
x
);
{
// wolno przesłaniać zmienne klasowe za pomocą zmiennych lokalnych
int
x
=
300
;
System
.
out
.
println
(
"G: "
+
x
);
if
(
true
)
{
// nie wolno przesłaniać zmiennych lokalnych
//NK int x = 400;
// System.out.println("H: " + x);
}
}
System
.
out
.
println
(
"K: "
+
x
);
}
}
P01-JavaSE/src/main/java/pcz/p02_zmienne/Nazwy.java
0 → 100644
View file @
589c3d44
package
pcz
.
p02_zmienne
;
public
class
Nazwy
{
public
static
void
main
(
String
[]
args
)
{
// Nazwa nie może zaczynać się od cyfry
//NK String 1rstElement = "pierwszy";
// Nazwa może zaczynać się od litery, znaku _ lub znaku $
String
abc123
=
"abc123"
;
String
_123
=
"qwerty"
;
String
$
123
=
"qwertz"
;
// wielkość liter ma znaczenie, to są dwie różne zmienne
int
x
=
10
,
X
=
20
;
System
.
out
.
println
(
x
);
System
.
out
.
println
(
X
);
// Można używać liter z różnych alfabetów
int
żółć
=
333
;
System
.
out
.
println
(
żółć
);
String
李
=
"李"
;
System
.
out
.
println
(
李
);
\
u674e
=
"babajaga"
;
// podaję kod Unicode chińskiego znaczka
System
.
out
.
println
(
李
);
// babajaga
int
$a
,
a
;
// to są różne zmienne
int
$
=
444
,
$
3
=
33
,
__
=
44
;
System
.
out
.
println
(
$
);
System
.
out
.
println
(
$
3
);
System
.
out
.
println
(
__
);
// Nazwami nie mogą być słowa kluczowe ani pojedynczy znak podkreślenia
// String int = "pomyłka";
// String _ = "aaa";
// System.out.println(_);
String
var
=
"okej, nawet w Javie 11"
;
System
.
out
.
println
(
var
);
}
}
P01-JavaSE/src/main/java/pcz/p02_zmienne/PolaFinal.java
0 → 100644
View file @
589c3d44
package
pcz
.
p02_zmienne
;
public
class
PolaFinal
{
// pola które są final muszą być jawnie zainicjalizowane
// albo w tym miejscu, albo w bloku inicjalizacyjnym, albo w konstruktorze
final
int
numer
;
public
PolaFinal
()
{
numer
=
0
;
}
public
PolaFinal
(
int
nr
)
{
numer
=
nr
;
}
}
P01-JavaSE/src/main/java/pcz/p02_zmienne/SlowoVar.java
0 → 100644
View file @
589c3d44
package
pcz
.
p02_zmienne
;
import
java.time.LocalTime
;
public
class
SlowoVar
{
public
static
void
main
(
String
[]
args
)
{
// Przykład kompiluje się od Javy 10.
// Deklaracja zmiennej lokalnej bez podawania typu.
// Kompilator domyśla się typu na podstawie tego, co wpisujemy
var
y
=
100
;
System
.
out
.
println
(
y
);
y
=
101
;
// OK
System
.
out
.
println
(
y
);
// Zmienna ma jednak typ int i nie wolno wpisać wartości niezgodnego typu
// y = 3.14; // źle
// y = "Ala ma kota"; // źle
// System.out.println(y);
// Konstrukcja dostępna tylka dla zmiennych lokalnych, gdy początkową wartość wpisuje się od razu w miejscu deklaracji.
// var z;
// var nie jest słowem kluczowym i w niekolidujących miejscach można go używać jako nazwy:
String
var
=
"tajemnicza zmienna"
;
System
.
out
.
println
(
var
);
// BTW, odpowiednikiem takich zmiennych jak w Pythonie i PHP, na które można wpisać "wszystko",
// w Javie jest raczej zmienna typu Object.
Object
o
;
o
=
"Ala ma kota"
;
System
.
out
.
println
(
o
.
getClass
().
getSimpleName
()
+
" : "
+
o
);
o
=
100
+
15
;
System
.
out
.
println
(
o
.
getClass
().
getSimpleName
()
+
" : "
+
o
);
o
=
LocalTime
.
now
();
System
.
out
.
println
(
o
.
getClass
().
getSimpleName
()
+
" : "
+
o
);
}
}
P01-JavaSE/src/main/java/pcz/p02_zmienne/Typy.java
0 → 100644
View file @
589c3d44
package
pcz
.
p02_zmienne
;
import
java.time.LocalDate
;
public
class
Typy
{
public
static
void
main
(
String
[]
args
)
{
// Typy dzielą się na dwie kategorie:
// 1) typy proste
byte
b
=
15
;
short
s
=
1000
;
int
i
=
100000
;
long
l1
=
10
,
l2
=
5000000000L
;
float
f
=
3.14
F
;
double
d
=
3.14
;
// char to pojedynczy znak, ale jednocześnie może być traktowany jak liczba z zakresu 0-64k
char
znak
=
'A'
;
boolean
falsz
=
false
,
prawda
=
true
,
niewiem
=
d
>
3.0
;
// typów byte i short nie opłaca sie używać, chyba że w dużych tablicach
// 2) typy obiektowe
Object
o
=
new
Object
();
System
.
out
.
println
(
o
);
// klasa String - napisy
String
imie
=
"Ala"
;
// platforma Java SE definiuje ok 4 tys. klas
LocalDate
data
=
LocalDate
.
now
();
System
.
out
.
println
(
data
);
System
.
out
.
println
(
data
.
getDayOfMonth
());
System
.
out
.
println
(
data
.
getDayOfYear
());
System
.
out
.
println
();
// programiści mogą tworzyć własne klasy
// w Javie również tablice są obiektami:
int
[]
liczby
=
{
1
,
2
,
3
,
4
};
System
.
out
.
println
(
liczby
.
length
);
System
.
out
.
println
(
liczby
[
1
]);
// 2
}
}
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