Commit 905c786a by Patryk Czarnik

teoria funkcja

parent 9e0151c9
......@@ -44,6 +44,7 @@ public class LosowaTablica {
}
System.out.println();
// sposób 2: za pomocą dwóch zmiennych
for(int i = 0, j = t.length-1; i < j; i++, j--) {
System.out.print(t[i] + " ");
System.out.print(t[j] + " ");
......
package p08_funkcje.teoria;
public class A_Wprowadzenie {
static void aaa() {
System.out.println("aaa, kotki dwa...");
}
public static void main(String[] args) {
System.out.println("Początek programu");
aaa();
aaa();
// to działa: p07_tablice.LosowaTablica.main(args);
bbb();
System.out.println("Koniec programu");
}
static void bbb() {
System.out.println("bebe, zaraz napiszę coś o kotkach");
aaa();
System.out.println("Koniec bbb");
System.out.println();
}
static void nikt_mnie_nie_wywola() {
System.out.println("To się nigdzie nie wypisze");
}
}
package p08_funkcje.teoria;
public class B_Parametry {
static void ktomaco(String imie, String zwierze) {
System.out.println(imie + " ma " + zwierze);
}
static void wypiszElementyTablicy(int[] tablica, int poczatek, int koniec) {
for(int i = poczatek; i < koniec; i++) {
System.out.println(i + " → " + tablica[i]);
}
}
public static void main(String[] args) {
ktomaco("Ala", "kota");
ktomaco("Ola", "psa");
ktomaco("Sierotka", "rysia");
System.out.println();
int[] a = {5, 10, 15};
int[] b = {1, 11, 13, 9, 44, 100, -1, 0};
wypiszElementyTablicy(a, 1, 3);
System.out.println();
wypiszElementyTablicy(b, 2, 5);
}
}
package p08_funkcje.teoria;
import javax.swing.JOptionPane;
public class C_Return {
public static void main(String[] args) {
System.out.println("Początek main");
// Funkcja zwraca wynik (return).
// Samo wywołanie funkcje nie powoduje wypisanie tego wyniku na ekran.
// Wynik można "odebrać", np. wpisując do zmiennej.
String tekst = dajTekst("Java");
// Teraz w zmiennej tekst znajduje się tekst zwrócony przez funkcję
System.out.println("Funkcja dajTekst się zakończyła. Wynikowy tekst:");
// Dopiero teraz ten tekst wypiszemy:
System.out.println(tekst);
// Teraz wywołamy funkcję, ale wynik zignorujemy, w ogóle nigdzie go nie będzie
dajTekst("C++");
// można też od razu wypisać wynik:
System.out.println(dajTekst("Python"));
System.out.println();
// zignorowanie wyniku:
kwadrat(3); // 9 nigdzie się nie wypisze
// zapisanie wyniku do zmiennej:
var wynik = kwadrat(6);
System.out.println("kwadrat liczby 6 to jest " + wynik);
// od razu wypisać:
System.out.println("7² = " + kwadrat(7));
// jeśli funkcja daje w wyniku liczbę, to można jej użyć w większym wyrażeniu
wynik = 10 * (kwadrat(3) + kwadrat(4));
System.out.println(wynik);
System.out.println("abs(5) = " + abs(5));
System.out.println("abs(0) = " + abs(0));
System.out.println("abs(-3) = " + abs(-3));
// Gdy funkcja zwróci wynik, możemy z nim zrobić dowolne rzeczy, nie tylko wypisać go na ekran.
JOptionPane.showMessageDialog(null, "Wynik podnoszenia do kwadratu: " + kwadrat(13));
}
static String dajTekst(String jezyk) {
return "Język " + jezyk + " jest najlepszy na świecie.";
}
static long kwadrat(int a) {
return (long)a*a;
}
// return może występować nie tylko na samym końcu; może być więcej niż jeden return w funkcji
// ALE
// - gdy nastąpi return, to funkcja w tym momencie jest kończona ("zwraca podany wynik i kończy się")
// - niezależnie od ścieżki, którą podąży program, funkcja MUSI zwrócić wynik
static int abs(int liczba) {
if(liczba >= 0) {
return liczba;
} else {
return -liczba;
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment