Java

Java - podminky

  • if
  • switch
switch (day) {
    case 0:
        System.out.println("Je pondeli");
        break;
    case 1:
        System.out.println("Je utery");
        break;
    default:
        System.out.println("N/A");
        break;
}
if (day == 1) {
    System.out.println("Je pondělí");
}
else if (day == 2) {
    System.out.println("Je úterý");
}
else {
    System.out.printf("N/A");
}

Java - podminky

  • ternární operátor
  • proměnná = podmínka ? kladná odpověď : záporná odpověď
String result = day == 1 ? "Je pondělí" : "Není pondělí";

Java - porovnávání

  • porovnání číselných hodnot:
    • >, <, <=, >=, ==, !=
  • nebezpečí použití == a != na objekty
    • jak dopadne následující?
Integer i = 5;
Integer i2 = 5;
System.out.println(i == i2);

Integer i3 = 128;
Integer i4 = 128;
System.out.println(i3 == i4);

Integer i5 = new Integer(5);
Integer i6 = new Integer(5);
System.out.println(i5 == i6); 

Java - porovnávání

  • equals a hashCode
    • equals - identifikuje zda jsou objekty totožné
    • hashCode - používá se např. při ukldání do HashMapy
  • Pro 2 objekty kde equals vyjde true MUSÍ hashCode být stejný

Java - cykly

  • while
  • do while
  • for
for (int i = 0; i < 10; i++) {
    System.out.println(i);
}

int i = 10;
while (i < 10) {
    System.out.println(i);
}

do {
    System.out.println(i);
} while (i < 10);

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
for (Integer num : list) {
    System.out.println(num);
}

Java - rekurze

  • rekurzivní funkce je taková která volá sama sebe
public static int factorial(int number) {

    if (number < 0) return -1;
    if (number == 0 || number == 1) return 1;
    return number * factorial(number - 1);
}

Java - dědičnost

  • umožňuje rozšířit existující třídu
  • zděděné metody a proměnné může překrýt
public class CsvParserService extends Parser {
    ...
}

Java - dědičnost

  • umožňuje rozšířit existující třídu
  • zděděné metody a proměnné může překrýt
public class CsvParserService extends Parser {
    ...
}
  • lze dědit pouze od jednoho předka
  • "super", "this"

Java - interface

  • předpis pro třídy
public interface Movable {

    public static final int SPEED_LIMIT = 50;

    public void moveForward();
}
  • obsahuje pouze konstatny a předpis metod

Java - enum

  • umožňuje vytvářet vlastní datové typy které mohou nabývat omezený výčet hodnot
public enum Month {
    JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY,
    AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER;

    public static Month getRandom() {

        Random r = new Random();
        int count = Month.values().length;
        return Month.values()[r.nextInt(count)];
    }
}
public enum Month {
    JANUARY("leden"),
    FEBRUARY("únor");

    private String nameCZ;

    private Month(String nameCZ){
        this.nameCZ = nameCZ;
    }
}

Java - kolekce

  • ArrayList 
  • LinkedList
  • Vector
  • HashMap
  • TreeMap
  • HashSet
  • TreeSet
  • Deque
  • Queue

Java - generika

  • umožňuje vytvářet parametrizované datové typy
public interface MyIface<T> {
...
   public void test(T test);
}

public vlass MyImpl implements MyIface<String> {
...
   public void test(String test) {
   }
}

java Base

By Jiří Čížek

java Base

  • 237